[TASK] Configurable width of the Element Browser 55/29555/5
authorGeorg Ringer <georg.ringer@gmail.com>
Fri, 18 Apr 2014 03:24:41 +0000 (05:24 +0200)
committerGeorg Ringer <georg.ringer@gmail.com>
Wed, 23 Apr 2014 02:56:12 +0000 (04:56 +0200)
The width of the element browser is sadly hardcoded to 600 and 650.

In many situations the element browser would need more place and
with this tiny change it would be easily possible to change
that behaviour without overloading the whole file.

Resolves: #58031
Releases: 6.2
Change-Id: I8a7df0e1c8f2c977af309fe5917c38ec6de99759
Reviewed-on: https://review.typo3.org/29555
Reviewed-by: Laurent Cherpit
Reviewed-by: Wouter Wolters
Tested-by: Wouter Wolters
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
typo3/sysext/backend/Classes/Form/Element/InlineElement.php
typo3/sysext/backend/Classes/Form/FormEngine.php
typo3/sysext/backend/Resources/Public/JavaScript/FormEngine.js

index cd6cc39..bd4e397 100644 (file)
@@ -885,6 +885,8 @@ class InlineElement {
                $objectPrefix = $this->inlineNames['object'] . self::Structure_Separator . $foreign_table;
                $mode = 'db';
                $showUpload = FALSE;
+               $width = 0;
+               $height = 0;
                if (!empty($conf['appearance']['createNewRelationLinkTitle'])) {
                        $createNewRelationText = $GLOBALS['LANG']->sL($conf['appearance']['createNewRelationLinkTitle'], TRUE);
                } else {
@@ -903,9 +905,15 @@ class InlineElement {
                        if (isset($config['appearance']['elementBrowserAllowed'])) {
                                $allowed = $config['appearance']['elementBrowserAllowed'];
                        }
+                       if (isset($config['appearance']['elementBrowserWidth'])) {
+                               $width = $config['appearance']['elementBrowserWidth'];
+                       }
+                       if (isset($config['appearance']['elementBrowserHeight'])) {
+                               $height = $config['appearance']['elementBrowserHeight'];
+                       }
                }
                $browserParams = '|||' . $allowed . '|' . $objectPrefix . '|inline.checkUniqueElement||inline.importElement';
-               $onClick = 'setFormValueOpenBrowser(\'' . $mode . '\', \'' . $browserParams . '\'); return false;';
+               $onClick = 'setFormValueOpenBrowser(\'' . $mode . '\', \'' . $browserParams . '\',' . (int)$width . ',' . (int)$height . '); return false;';
 
                $item = '<a href="#" class="t3-button" onclick="' . htmlspecialchars($onClick) . '">';
                $item .= IconUtility::getSpriteIcon('actions-insert-record', array('title' => $createNewRelationText));
index 3072d06..e078d68 100644 (file)
@@ -2598,8 +2598,20 @@ TBE_EDITOR.customEvalFunctions[\'' . $evalData . '\'] = function(value) {
                                $info .= '<span class="nobr">' . htmlspecialchars($this->getLL('l_allTables')) . '</span><br />';
                        } elseif ($tempFT) {
                                $onlySingleTableAllowed = count($tempFT) == 1;
+
+                               $width = 0;
+                               $height = 0;
+                               if (is_array($config['appearance'])) {
+                                       if (isset($config['appearance']['elementBrowserWidth'])) {
+                                               $width = $config['appearance']['elementBrowserWidth'];
+                                       }
+                                       if (isset($config['appearance']['elementBrowserHeight'])) {
+                                               $height = $config['appearance']['elementBrowserHeight'];
+                                       }
+                               }
+
                                foreach ($tempFT as $theT) {
-                                       $aOnClick = 'setFormValueOpenBrowser(\'db\', \'' . ($PA['itemFormElName'] . '|||' . $theT) . '\'); return false;';
+                                       $aOnClick = 'setFormValueOpenBrowser(\'db\', \'' . ($PA['itemFormElName'] . '|||' . $theT) . '\',' . (int)$width . ',' . (int)$height . '); return false;';
                                        $info .= '<span class="nobr">
                                                                        <a href="#" onclick="' . htmlspecialchars($aOnClick) . '">' . IconUtility::getSpriteIconForRecord($theT, array()) . htmlspecialchars($this->sL($GLOBALS['TCA'][$theT]['ctrl']['title'])) . '</a></span><br />';
                                }
@@ -3907,7 +3919,15 @@ TBE_EDITOR.customEvalFunctions[\'' . $evalData . '\'] = function(value) {
                                } else {
                                        $elementBrowserAllowed = $allowed;
                                }
-                               $aOnClick = 'setFormValueOpenBrowser(\'' . $elementBrowserType . '\',\'' . ($fName . '|||' . $elementBrowserAllowed . '|' . $aOnClickInline) . '\'); return false;';
+                               $width = 0;
+                               $height = 0;
+                               if (isset($config['appearance']['elementBrowserWidth'])) {
+                                       $width = $config['appearance']['elementBrowserWidth'];
+                               }
+                               if (isset($config['appearance']['elementBrowserHeight'])) {
+                                       $height = $config['appearance']['elementBrowserHeight'];
+                               }
+                               $aOnClick = 'setFormValueOpenBrowser(\'' . $elementBrowserType . '\',\'' . ($fName . '|||' . $elementBrowserAllowed . '|' . $aOnClickInline) . '\',' . $width . ',' . $height .'); return false;';
                                $icons['R'][] = '<a href="#" onclick="' . htmlspecialchars($aOnClick) . '">' . IconUtility::getSpriteIcon('actions-insert-record', array('title' => htmlspecialchars($this->getLL(('l_browse_' . ($mode == 'db' ? 'db' : 'file')))))) . '</a>';
                        }
                        if (!$params['dontShowMoveIcons']) {
index 55c5dd6..79a49ea 100644 (file)
@@ -38,10 +38,14 @@ define('TYPO3/CMS/Backend/FormEngine', ['jquery'], function ($) {
         *
         * @param mode can be "db" or "file"
         * @param params additional params for the browser window
+        * @param width width of the window
+        * @param height height of the window
         */
-       FormEngine.openPopupWindow = setFormValueOpenBrowser = function(mode, params) {
+       FormEngine.openPopupWindow = setFormValueOpenBrowser = function(mode, params, width, height) {
                var url = FormEngine.backPath + 'browser.php?mode=' + mode + '&bparams=' + params;
-               FormEngine.openedPopupWindow = window.open(url, 'Typo3WinBrowser', 'height=650,width=' + (mode == 'db' ? 650 : 600) + ',status=0,menubar=0,resizable=1,scrollbars=1');
+               width = width ? width : 650;
+               height = height ? height : 650;
+               FormEngine.openedPopupWindow = window.open(url, 'Typo3WinBrowser', 'height=' + height + ',width=' + width + ',status=0,menubar=0,resizable=1,scrollbars=1');
                FormEngine.openedPopupWindow.focus();
        };
 
@@ -570,4 +574,4 @@ define('TYPO3/CMS/Backend/FormEngine', ['jquery'], function ($) {
 
        // call the main initialize function and execute the hooks
        return initializeModule();
-});
+});
\ No newline at end of file