Project

General

Profile

Bug #11539 » 11539v3.patch

Tolleiv Nietsch, 2011-01-20 15:19

View differences:

W:/workspaces/Resources/Private/Layouts/popup.html (revision 3898)
// poor way to avoid that we require any scrollbars within the frames
var finalHeight = height * 1.1;
Ext.getCmp('visualPanel').setHeight(finalHeight);
Ext.getCmp('liveContainer').setHeight((100-Ext.getCmp('sizeSlider').getValue()/100) * finalHeight);
Ext.getCmp('wsContainer').setHeight(finalHeight);
Ext.getCmp('wsPanel').setHeight(finalHeight);
Ext.getCmp('livePanel').setHeight(finalHeight);
}
W:/workspaces/Resources/Private/Templates/Preview/Preview.html (revision 3898)
<script type="text/javascript">
document.domain = '{backendDomain}';
// @todo redirect to split module if this is opened standalone
// make sure we're in the workspace preview module
if (typeof parent.resize == 'function') {
parent.resize(
Math.max(
Math.max(document.body.scrollHeight, document.documentElement.scrollHeight),
Math.max(document.body.offsetHeight, document.documentElement.offsetHeight),
Math.max(document.body.clientHeight, document.documentElement.clientHeight)
)
);
// having this is very important, otherwise the parent.resize call will fail
document.domain = '{backendDomain}';
var element = document.getElementById('typo3-previewInfo');
element.parentNode.removeChild(element);
var asNumber = function(val) {
return isNaN(val) ? 0 : parseInt(val, 10);
};
var TYPO3 = {};
TYPO3.ready = function () {
// make sure we're in the workspace preview module
if (typeof parent.resize == 'function') {
// try to find the height of the document
var docHeight = Math.max(
asNumber(window.innerHeight),
asNumber(document.height),
asNumber(document.body.scrollHeight),
asNumber(document.body.offsetHeight),
asNumber(document.body.clientHeight),
asNumber(document.documentElement.scrollHeight),
asNumber(document.documentElement.offsetHeight),
asNumber(document.documentElement.clientHeight)
);
parent.resize(docHeight);
// remove the ugly red box if we're in the ws-repview frames
var element = document.getElementById('typo3-previewInfo');
element.parentNode.removeChild(element);
}
};
// trigger this after content is loaded, inspired by jQuery
if (document.addEventListener && !/opera/.test(navigator.userAgent.toLowerCase())) {
document.addEventListener("DOMContentLoaded", TYPO3.ready, false);
} else {
(function() {
if (document.readyState != "loaded" && document.readyState != "complete") {
setTimeout(arguments.callee, 10);
} else {
TYPO3.ready();
}
})();
}
</script>
W:/workspaces/Resources/Public/JavaScript/preview.js (revision 3898)
***************************************************************/
Ext.onReady(function() {
var iconClsChecked = 't3-icon t3-icon-status t3-icon-status-status t3-icon-status-checked';
var iconClsEmpty = 't3-icon t3-icon-empty t3-icon-empty-empty t3-icon-empty';
var viewport = new Ext.Viewport({
layout: 'border',
items: [{
......
plugins : [{
ptype : 'Ext.ux.plugins.TabStripContainer',
id: 'controls',
width: 400,
items: [{
xtype: 'button',
id: 'sizeSliderButtonLive',
cls: 'sliderButton',
text: TYPO3.LLL.Workspaces.livePreview,
width: 100,
listeners: {
click: {
fn: function () {
Ext.getCmp('sizeSlider').setValue(0);
}
}
}
},
{
xtype: 'slider',
id: 'sizeSlider',
margins: '0 10 0 10',
maxValue: 100,
minValue: 0,
value: 100,
flex: 1,
listeners: {
change: {
fn: function resizeFromValue(slider, newValue, thumb) {
var height = Ext.getCmp('wsPanel').getHeight();
Ext.getCmp('liveContainer').setHeight(height * (100 - newValue) / 100);
Ext.getCmp('visualPanel').setHeight(height);
}
}
}
},
{
xtype: 'button',
id: 'sizeSliderButtonWorkspace',
cls: 'sliderButton',
text: TYPO3.LLL.Workspaces.workspacePreview,
width: 100,
listeners: {
click: {
fn: function () {
Ext.getCmp('sizeSlider').setValue(100);
}
}
}
}]
width: 600,
items: [
{
xtype: 'panel',
id: 'slider',
width: 460,
layout: 'hbox',
items: [
{
xtype: 'button',
id: 'sizeSliderButtonLive',
cls: 'sliderButton',
text: TYPO3.LLL.Workspaces.livePreview,
tooltip: TYPO3.LLL.Workspaces.livePreviewDetail,
width: 100,
listeners: {
click: {
fn: function () {
Ext.getCmp('sizeSlider').setValue(0);
}
}
}
},
{
xtype: 'slider',
id: 'sizeSlider',
margins: '0 10 0 10',
maxValue: 100,
minValue: 0,
value: 100,
width: 200,
flex: 1,
listeners: {
change: {
fn: function resizeFromValue(slider, newValue, thumb) {
var height = Ext.getCmp('wsPanel').getHeight();
Ext.getCmp('liveContainer').setHeight(height * (100 - newValue) / 100);
//Ext.getCmp('visualPanel').setHeight(height);
}
}
}
},
{
xtype: 'button',
id: 'sizeSliderButtonWorkspace',
cls: 'sliderButton',
text: TYPO3.LLL.Workspaces.workspacePreview,
tooltip: TYPO3.LLL.Workspaces.workspacePreviewDetail,
width: 100,
listeners: {
click: {
fn: function () {
Ext.getCmp('sizeSlider').setValue(100);
}
}
}
}
]
},
{
xtype: 'toolbar',
id: 'visual-mode-toolbar',
items: [{
iconCls: 'x-btn-icon t3-icon t3-icon-actions t3-icon-actions-system t3-icon-system-options-view',
id: 'visual-mode-options',
menu: {
id: 'visual-mode-selector',
items: [{
text: TYPO3.LLL.Workspaces.modeSlider,
id: 'visual-mode-selector-slider',
iconCls: iconClsChecked,
handler: function(){
Ext.getCmp('visualPanel-hbox').hide();
Ext.getCmp('visualPanel-vbox').hide();
Ext.getCmp('visualPanel').show();
Ext.getCmp('slider').show();
Ext.select('#visual-mode-selector ul li a img.t3-icon-status-checked').removeClass(iconClsChecked.split(" "))
Ext.getCmp('visual-mode-selector-slider').setIconClass(iconClsChecked);
Ext.getCmp('visual-mode-selector-hbox').setIconClass(iconClsEmpty);
Ext.getCmp('visual-mode-selector-vbox').setIconClass(iconClsEmpty);
}
},{
text: TYPO3.LLL.Workspaces.modeVbox,
id: 'visual-mode-selector-vbox',
iconCls: iconClsEmpty,
handler: function() {
Ext.getCmp('visualPanel-hbox').hide();
Ext.getCmp('visualPanel-vbox').show();
Ext.getCmp('visualPanel').hide();
Ext.getCmp('slider').hide();
Ext.select('#visual-mode-selector ul li a img.t3-icon-status-checked').removeClass(iconClsChecked.split(" "))
Ext.getCmp('visual-mode-selector-slider').setIconClass(iconClsEmpty);
Ext.getCmp('visual-mode-selector-vbox').setIconClass(iconClsChecked)
Ext.getCmp('visual-mode-selector-hbox').setIconClass(iconClsEmpty);
}
},{
text: TYPO3.LLL.Workspaces.modeHbox,
id: 'visual-mode-selector-hbox',
iconCls: iconClsEmpty,
handler: function(){
Ext.getCmp('visualPanel-hbox').show();
Ext.getCmp('visualPanel-vbox').hide();
Ext.getCmp('visualPanel').hide();
Ext.getCmp('slider').hide();
Ext.select('#visual-mode-selector ul li a img.t3-icon-status-checked').removeClass(iconClsChecked.split(" "))
Ext.getCmp('visual-mode-selector-slider').setIconClass(iconClsEmpty);
Ext.getCmp('visual-mode-selector-vbox').setIconClass(iconClsEmpty);
Ext.getCmp('visual-mode-selector-hbox').setIconClass(iconClsChecked);
}
}]
}
}]
}]
}],
items: [{
title: TYPO3.LLL.Workspaces.visualPreview,
id: 'wsVisual',
layout: 'fit',
anchor: '100% 100%',
items: [{
layout: 'fit',
layout: 'absolute',
anchor: '100% 100%',
x: 0, y:0,
anchor: '100% 100%',
autoScroll: true,
items: [{
layout: 'absolute',
id: 'visualPanel',
items: [{
layout: 'fit',
x: 0, y:0,
anchor: '100% 100%',
id: 'wsContainer',
layout: 'absolute',
autoScroll: false,
items:[{
autoScroll: true,
items: [{
layout: 'absolute',
id: 'visualPanel',
items: [{
x: 0, y:0,
anchor: '100% 100%',
id: 'wsContainer',
layout: 'absolute',
autoScroll: false,
items:[{
xtype: 'iframePanel',
x: 0, y:0,
id: 'wsPanel',
doMask: false,
src: wsUrl,
autoScroll: false
}]
},{
x: 0, y:0,
anchor: '100% 0%',
id: 'liveContainer',
layout: 'absolute',
bodyStyle: 'height:0px;border-bottom: 2px solid red;',
autoScroll: false,
items:[{
xtype: 'iframePanel',
x: 0, y:0,
id: 'livePanel',
doMask: false,
src: liveUrl,
autoScroll: false
}]
}]
}]
},{
layout: 'hbox',
hidden: true,
x: 0, y:0,
anchor: '100% 100%',
layoutConfig: {
align : 'stretch',
pack : 'start'
},
id: 'visualPanel-hbox',
items: [{
xtype: 'iframePanel',
x: 0, y:0,
id: 'wsPanel',
id: 'wsPanel-hbox',
doMask: false,
src: wsUrl,
autoScroll: false
autoScroll: false,
flex: 1
},{
xtype: 'iframePanel',
x: 0, y:0,
id: 'livePanel-hbox',
doMask: false,
src: liveUrl,
autoScroll: false,
flex: 1
}]
},{
},{
layout: 'vbox',
hidden: true,
x: 0, y:0,
anchor: '100% 0%',
id: 'liveContainer',
layout: 'absolute',
bodyStyle: 'height:0px;border-bottom: 2px solid red;',
autoScroll: false,
items:[{
anchor: '100% 100%',
layoutConfig: {
align : 'stretch',
pack : 'start'
},
id: 'visualPanel-vbox',
items: [{
xtype: 'iframePanel',
x: 0, y:0,
id: 'livePanel',
id: 'wsPanel-vbox',
doMask: false,
src: wsUrl,
autoScroll: false,
flex: 1
},{
xtype: 'iframePanel',
x: 0, y:0,
id: 'livePanel-vbox',
doMask: false,
src: liveUrl,
autoScroll: false
autoScroll: false,
flex: 1
}]
}]
}]
}]
},{
W:/workspaces/Resources/Public/StyleSheet/preview.css (revision 3898)
* Slider
*/
#controls {
padding-top: 10px;
padding-top: 5px;
}
#slider {
padding-top: 5px;
}
/* remove default ExtJS border */
.x-panel-body {
......
text-align: left;
}
#visual-mode-selector {
list-style: none;
background-color: #f9f9f9;
border: 1px solid #abb2bc;
border-top: none;
}
#visual-mode-selector td {
text-align: left;
}
#visual-mode-selector td button {
font-size: 11px;
line-height: 12px;
text-decoration: none;
}
#visual-mode-options {
display: block;
height: 20px;
margin: 5px 0 0 0;
}
#visual-mode-options.x-btn-menu-active {
background-color: #f9f9f9;
border: 1px solid #abb2bc;
border-bottom: none;
}
#visual-mode-options .x-btn-arrow {
padding-right: 2px;
}
#visual-mode-options .x-btn-text {
font-size: 11px;
}
#visual-mode-options.x-btn-menu-active .x-btn-text {
color: black;
}
#visual-mode-toolbar {
border:none;
}
/**
* Preview panel
*/
W:/workspaces/ext_emconf.php (revision 3898)
'uploadfolder' => 0,
'createDirs' => '',
'modify_tables' => '',
'clearCacheOnLoad' => 0,
'clearCacheOnLoad' => 1,
'lockType' => '',
'author_company' => '',
'version' => '4.5.0beta4',
(5-5/9)