From 0c007ee6ef6efdd49ae44b0c023d19ecd0259c58 Mon Sep 17 00:00:00 2001 From: Kay Strobach Date: Mon, 8 Aug 2011 22:13:14 +0200 Subject: [PATCH] [BUGFIX] Problems with Cardlayout This fix contains several parts: 1. alt_file_navframe.php changed top.TYPO3.Backend.ContentContainer.setUrl() to new function top.TYPO3.ModuleMenu.App.openInContentFrame() This fix solves the problem in the filemodule 2. iframepanel.js added small delay to ensure, that the panel is rendered with correct size before applying the mask (force centering of loading indicator) 3. to be done make tree detect changed ids Change-Id: Ibccd5d6880e1e957d5de232fdc8f4ad168cd16ab Resolves: #28851 Releases: 4.6 --- typo3/alt_file_navframe.php | 3 ++- typo3/js/extjs/iframepanel.js | 23 +++++++++++++++-------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/typo3/alt_file_navframe.php b/typo3/alt_file_navframe.php index d3ce033..b127c26 100644 --- a/typo3/alt_file_navframe.php +++ b/typo3/alt_file_navframe.php @@ -173,7 +173,8 @@ class SC_alt_file_navframe { theUrl += "?id=" + id } top.fsMod.currentBank = bank; - top.TYPO3.Backend.ContentContainer.setUrl(theUrl); + top.TYPO3.ModuleMenu.App.openInContentFrame(theUrl); + //top.TYPO3.Backend.ContentContainer.setUrl(theUrl); '.($this->doHighlight ? 'Tree.highlightActiveItem("file", highlightID + "_" + bank);' : '').' '.(!$GLOBALS['CLIENT']['FORMSTYLE'] ? '' : 'if (linkObj) linkObj.blur(); ').' diff --git a/typo3/js/extjs/iframepanel.js b/typo3/js/extjs/iframepanel.js index ab517aa..bc05c6d 100644 --- a/typo3/js/extjs/iframepanel.js +++ b/typo3/js/extjs/iframepanel.js @@ -132,17 +132,24 @@ TYPO3.iframePanel = Ext.extend(Ext.Panel, { /** @private */ setMask: function() { if (this.doMask) { - this.el.mask(this.maskMessage, 'x-mask-loading-message'); - this.el.addClass('t3-mask-loading'); - // add an onClick handler to remove the mask while clicking on the loading message - // useful if user cancels loading and wants to access the content again - this.el.child('.x-mask-loading-message').on( - 'click', + //make sure, that the mask is rendered after the container and + //fits the full dimensions + new Ext.util.DelayedTask( function() { - this.el.unmask(); + this.el.mask(this.maskMessage, 'x-mask-loading-message'); + this.el.addClass('t3-mask-loading'); + // add an onClick handler to remove the mask while clicking on the loading message + // useful if user cancels loading and wants to access the content again + this.el.child('.x-mask-loading-message').on( + 'click', + function() { + this.el.unmask(); + }, + this + ); }, this - ); + ).delay(200); } }, -- 1.7.4.msysgit.0