Fixed bug #17190: Make the drag area on the split bars wider than 1px
authorSteffen Kamper <info@sk-typo3.de>
Fri, 21 Jan 2011 12:18:07 +0000 (12:18 +0000)
committerSteffen Kamper <info@sk-typo3.de>
Fri, 21 Jan 2011 12:18:07 +0000 (12:18 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@10203 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
typo3/js/extjs/viewport.js
typo3/js/extjs/viewportConfiguration.js
typo3/sysext/t3skin/extjs/xtheme-t3skin.css

index 0d1b212..b1e12ec 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2011-01-21  Steffen Kamper  <steffen@typo3.org>
+
+       * Fixed bug #17190: Make the drag area on the split bars wider than 1px
+
 2011-01-21  Tolleiv Nietsch  <typo3@tolleiv.de>
 
        * Fixed bug #16935: tx_coreupdates_installversioning is obsolete
index 66386ee..39246bd 100644 (file)
 
 Ext.ns('TYPO3');
 
+       // override splitregion to fit the splitbars in our design
+Ext.override(Ext.layout.BorderLayout.SplitRegion, {
+       render : function(ct, p) {
+               Ext.layout.BorderLayout.SplitRegion.superclass.render.call(this, ct, p);
+
+               var ps = this.position;
+
+               this.splitEl = ct.createChild({
+                       cls: "x-layout-split x-layout-split-" + ps, html: " ",
+                       id: this.panel.id + '-xsplit'
+               });
+
+               if (this.enableChildSplit) {
+                       this.splitChildEl = this.splitEl.createChild({
+                               cls: 'x-layout-mini-wrapper'
+                       });
+
+               }
+               if (this.collapseMode == 'mini') {
+                       this.miniSplitEl = this.splitEl.createChild({
+                               cls: "x-layout-mini x-layout-mini-" + ps, html: " "
+                       });
+                       this.miniSplitEl.addClassOnOver('x-layout-mini-over');
+                       this.miniSplitEl.on('click', this.onCollapseClick, this, {stopEvent:true});
+               }
+
+               var s = this.splitSettings[ps];
+
+               if (this.enableChildSplit) {
+                       this.split = new Ext.SplitBar(this.splitChildEl.dom, p.el, s.orientation);
+               } else {
+                       this.split = new Ext.SplitBar(this.splitEl.dom, p.el, s.orientation);
+               }
+               this.split.tickSize = this.tickSize;
+               this.split.placement = s.placement;
+               this.split.getMaximumSize = this[s.maxFn].createDelegate(this);
+               this.split.minSize = this.minSize || this[s.minProp];
+               this.split.on("beforeapply", this.onSplitMove, this);
+               this.split.useShim = this.useShim === true;
+               this.maxSize = this.maxSize || this[s.maxProp];
+
+               if (p.hidden) {
+                       this.splitEl.hide();
+               }
+
+               if (this.useSplitTips) {
+                       this.splitEl.dom.title = this.collapsible ? this.collapsibleSplitTip : this.splitTip;
+               }
+               if (this.collapsible) {
+                       this.splitEl.on("dblclick", this.onCollapseClick, this);
+               }
+       }
+});
 /**
  * Extends the viewport with some functionality for TYPO3.
  *
@@ -120,26 +173,6 @@ TYPO3.Viewport = Ext.extend(Ext.Viewport, {
                this.ModuleMenuContainer = Ext.getCmp('typo3-module-menu');
                this.DebugConsole = Ext.getCmp('typo3-debug-console');
 
-               // place a wrapper-div inside the split bar,
-               // this enables us to set width of the split bar to 0 to make it invisible
-               Ext.getCmp('typo3-viewport').on(
-                       'afterRender',
-                       function(el) {
-                               Ext.each([
-                                       'typo3-navigationContainer-xsplit',
-                                       'typo3-module-menu-xsplit'
-                                       ], function(value) {
-                                       var splitbar = Ext.get(value);
-                                       var button = splitbar.first();
-                                       var wrapper = splitbar.createChild({
-                                               cls: 'x-layout-mini-wrapper'
-                                       });
-                                       if (button !== null) {
-                                               wrapper.appendChild(button);
-                                       }
-                               });
-                       }
-               );
        }
 });
 
index a141dba..7c1ff50 100644 (file)
@@ -54,6 +54,7 @@ TYPO3.Viewport.configuration = {
                        floatable: true,
                        hideCollapseTool: true,
                        split: true,
+                       enableChildSplit: true,
                        border: false,
                        autoScroll: true
                },
@@ -71,6 +72,7 @@ TYPO3.Viewport.configuration = {
                                        floatable: true,
                                        animCollapse: false,
                                        split: true,
+                                       enableChildSplit: true,
                                        collapsible: true,
                                        collapseMode: 'mini',
                                        hideCollapseTool: true,
index ff06a9e..269410f 100644 (file)
@@ -2294,9 +2294,9 @@ body.x-body-masked .x-window-plain .x-window-mc {
  */
 .x-layout-mini-wrapper {
        height: 100%;
-       left: 0;
+       left: -5px;
        position: absolute;
-       width: 1px;
+       width: 10px;
 }
 
 .x-splitbar-proxy.x-splitbar-proxy-h {