[TASK] Move info popups to modal windows 59/55659/3
authorBenjamin Kott <benjamin.kott@wfp2.com>
Sat, 10 Feb 2018 22:04:53 +0000 (23:04 +0100)
committerAndreas Fernandez <a.fernandez@scripting-base.de>
Mon, 12 Feb 2018 10:39:48 +0000 (11:39 +0100)
Resolves: #83844
Releases: master
Change-Id: I5fef80a48d52da9800a7a9a2a23445d60168e8b5
Reviewed-on: https://review.typo3.org/55659
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Joerg Boesche <typo3@joergboesche.de>
Tested-by: Joerg Boesche <typo3@joergboesche.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
23 files changed:
Build/types/TYPO3/index.d.ts
typo3/sysext/backend/Classes/Clipboard/Clipboard.php
typo3/sysext/backend/Classes/Controller/BackendController.php
typo3/sysext/backend/Classes/Controller/EditDocumentController.php
typo3/sysext/backend/Classes/Form/Container/InlineRecordContainer.php
typo3/sysext/backend/Classes/RecordList/AbstractRecordList.php
typo3/sysext/backend/Classes/Utility/BackendUtility.php
typo3/sysext/backend/Classes/View/PageLayoutView.php
typo3/sysext/backend/Resources/Private/TypeScript/InfoWindow.ts [new file with mode: 0644]
typo3/sysext/backend/Resources/Public/JavaScript/ContextMenuActions.js
typo3/sysext/backend/Resources/Public/JavaScript/InfoWindow.js [new file with mode: 0644]
typo3/sysext/backend/Resources/Public/JavaScript/backend.js
typo3/sysext/beuser/Resources/Private/Partials/BackendUser/IndexListRow.html
typo3/sysext/beuser/Resources/Private/Partials/BackendUser/OnlineListRow.html
typo3/sysext/beuser/Resources/Private/Partials/BackendUserGroup/IndexListRow.html
typo3/sysext/core/Classes/Database/QueryView.php
typo3/sysext/core/Documentation/Changelog/master/Deprecation-83844-DeprecatedUsageOfToplaunchView.rst [new file with mode: 0644]
typo3/sysext/filelist/Classes/Controller/FileListController.php
typo3/sysext/filelist/Classes/FileList.php
typo3/sysext/filelist/Resources/Public/JavaScript/ContextMenuActions.js
typo3/sysext/filelist/Resources/Public/JavaScript/FileList.js
typo3/sysext/recordlist/Classes/RecordList/AbstractDatabaseRecordList.php
typo3/sysext/recordlist/Classes/RecordList/DatabaseRecordList.php

index ba6c308..f051207 100644 (file)
@@ -6,6 +6,7 @@
  */
 declare namespace TYPO3 {
   export let DebugConsole: any;
+  export let InfoWindow: any;
   export let Popover: any;
   export let ShortcutMenu: any;
   export let Storage: any;
index 0283b15..2699ad8 100644 (file)
@@ -405,7 +405,7 @@ class Clipboard
                                     $this->getBackendUser()->uc['titleLen']
                                 )), $fileObject->getName()),
                                 'thumb' => $thumb,
-                                'infoLink' => htmlspecialchars('top.launchView(' . GeneralUtility::quoteJSvalue($table) . ', ' . GeneralUtility::quoteJSvalue($v) . '); return false;'),
+                                'infoLink' => htmlspecialchars('top.TYPO3.InfoWindow.showItem(' . GeneralUtility::quoteJSvalue($table) . ', ' . GeneralUtility::quoteJSvalue($v) . '); return false;'),
                                 'removeLink' => $this->removeUrl('_FILE', GeneralUtility::shortMD5($v))
                             ];
                         } else {
@@ -427,7 +427,7 @@ class Clipboard
                                     $table,
                                     $rec
                                 ), $this->getBackendUser()->uc['titleLen'])), $rec, $table),
-                                'infoLink' => htmlspecialchars('top.launchView(' . GeneralUtility::quoteJSvalue($table) . ', \'' . (int)$uid . '\'); return false;'),
+                                'infoLink' => htmlspecialchars('top.TYPO3.InfoWindow.showItem(' . GeneralUtility::quoteJSvalue($table) . ', \'' . (int)$uid . '\'); return false;'),
                                 'removeLink' => $this->removeUrl($table, $uid)
                             ];
 
index 635e590..8b91857 100644 (file)
@@ -151,6 +151,9 @@ class BackendController
         // load Modals
         $this->pageRenderer->loadRequireJsModule('TYPO3/CMS/Backend/Modal');
 
+        // load InfoWindow
+        $this->pageRenderer->loadRequireJsModule('TYPO3/CMS/Backend/InfoWindow');
+
         // load ContextMenu
         $this->pageRenderer->loadRequireJsModule('TYPO3/CMS/Backend/ContextMenu');
 
index a2c9cb1..0c9c9c0 100644 (file)
@@ -732,6 +732,7 @@ class EditDocumentController
 
                                // Info view:
                        function launchView(table,uid) {
+                               console.warn(\'Calling launchView() has been deprecated in v9 and will be removed in v10.0\');
                                var thePreviewWindow = window.open(
                                        ' . GeneralUtility::quoteJSvalue((string)$uriBuilder->buildUriFromRoute('show_item') . '&table=') . ' + encodeURIComponent(table) + "&uid=" + encodeURIComponent(uid),
                                        "ShowItem" + Math.random().toString(16).slice(2),
index d9e5ee4..7b2500d 100644 (file)
@@ -444,7 +444,7 @@ class InlineRecordContainer extends AbstractContainer
                 $cells['info'] = '<span class="btn btn-default disabled">' . $this->iconFactory->getIcon('empty-empty', Icon::SIZE_SMALL)->render() . '</span>';
             } else {
                 $cells['info'] = '
-                               <a class="btn btn-default" href="#" onclick="' . htmlspecialchars(('top.launchView(' . GeneralUtility::quoteJSvalue($table) . ', ' . GeneralUtility::quoteJSvalue($uid) . '); return false;')) . '" title="' . htmlspecialchars($languageService->sL('LLL:EXT:lang/Resources/Private/Language/locallang_mod_web_list.xlf:showInfo')) . '">
+                               <a class="btn btn-default" href="#" onclick="' . htmlspecialchars(('top.TYPO3.InfoWindow.showItem(' . GeneralUtility::quoteJSvalue($table) . ', ' . GeneralUtility::quoteJSvalue($uid) . '); return false;')) . '" title="' . htmlspecialchars($languageService->sL('LLL:EXT:lang/Resources/Private/Language/locallang_mod_web_list.xlf:showInfo')) . '">
                                        ' . $this->iconFactory->getIcon('actions-document-info', Icon::SIZE_SMALL)->render() . '
                                </a>';
             }
index 049847e..58e7263 100644 (file)
@@ -517,7 +517,7 @@ abstract class AbstractRecordList
      * sys_refindex records you hand over
      *
      * @param int $references number of records from sys_refindex table
-     * @param string $launchViewParameter JavaScript String, which will be passed as parameters to top.launchView
+     * @param string $launchViewParameter JavaScript String, which will be passed as parameters to top.TYPO3.InfoWindow.showItem
      * @return string
      * @deprecated since TYPO3 v9, will be removed in TYPO3 v10
      */
@@ -528,7 +528,7 @@ abstract class AbstractRecordList
         } else {
             $htmlCode = '<a href="#"';
             if ($launchViewParameter !== '') {
-                $htmlCode .= ' onclick="' . htmlspecialchars(('top.launchView(' . $launchViewParameter . '); return false;')) . '"';
+                $htmlCode .= ' onclick="' . htmlspecialchars(('top.TYPO3.InfoWindow.showItem(' . $launchViewParameter . '); return false;')) . '"';
             }
             $htmlCode .= ' title="' . htmlspecialchars($this->getLanguageService()->sL('LLL:EXT:backend/Resources/Private/Language/locallang.xlf:show_references') . ' (' . $references . ')') . '">';
             $htmlCode .= $references;
index ba5c337..1ed8f68 100644 (file)
@@ -1346,7 +1346,7 @@ class BackendUtility
                         . '</span>';
                 }
                 if ($linkInfoPopup) {
-                    $onClick = 'top.launchView(\'_FILE\',\'' . (int)$fileObject->getUid() . '\'); return false;';
+                    $onClick = 'top.TYPO3.InfoWindow.showItem(\'_FILE\',\'' . (int)$fileObject->getUid() . '\'); return false;';
                     $thumbData .= '<a href="#" onclick="' . htmlspecialchars($onClick) . '">' . $imgTag . '</a> ';
                 } else {
                     $thumbData .= $imgTag;
@@ -1400,7 +1400,7 @@ class BackendUtility
 
                         $image = '<img src="' . htmlspecialchars($imageUrl) . '" hspace="2" border="0" title="' . htmlspecialchars($fileObject->getName()) . '"' . $tparams . ' alt="" />';
                         if ($linkInfoPopup) {
-                            $onClick = 'top.launchView(\'_FILE\', ' . GeneralUtility::quoteJSvalue($fileName) . ',\'\');return false;';
+                            $onClick = 'top.TYPO3.InfoWindow.showItem(\'_FILE\', ' . GeneralUtility::quoteJSvalue($fileName) . ',\'\');return false;';
                             $thumbData .= '<a href="#" onclick="' . htmlspecialchars($onClick) . '">' . $image . '</a> ';
                         } else {
                             $thumbData .= $image;
@@ -1411,7 +1411,7 @@ class BackendUtility
                             . $iconFactory->getIconForResource($fileObject, Icon::SIZE_SMALL)->render()
                             . '</span>';
                         if ($linkInfoPopup) {
-                            $onClick = 'top.launchView(\'_FILE\', ' . GeneralUtility::quoteJSvalue($fileName) . ',\'\'); return false;';
+                            $onClick = 'top.TYPO3.InfoWindow.showItem(\'_FILE\', ' . GeneralUtility::quoteJSvalue($fileName) . ',\'\'); return false;';
                             $thumbData .= '<a href="#" onclick="' . htmlspecialchars($onClick) . '">' . $fileIcon . '</a> ';
                         } else {
                             $thumbData .= $fileIcon;
index f0834ec..486ac97 100644 (file)
@@ -3750,7 +3750,7 @@ class PageLayoutView implements LoggerAwareInterface
             case 'info':
                 // "Info": (All records)
                 $code = '<a href="#" onclick="' . htmlspecialchars(
-                        ('top.launchView(\'' . $table . '\', \'' . $row['uid'] . '\'); return false;')
+                        ('top.TYPO3.InfoWindow.showItem(\'' . $table . '\', \'' . $row['uid'] . '\'); return false;')
                     ) . '" title="' . htmlspecialchars($lang->getLL('showInfo')) . '">' . $code . '</a>';
                 break;
             default:
@@ -4440,7 +4440,7 @@ class PageLayoutView implements LoggerAwareInterface
      * sys_refindex records you hand over
      *
      * @param int $references number of records from sys_refindex table
-     * @param string $launchViewParameter JavaScript String, which will be passed as parameters to top.launchView
+     * @param string $launchViewParameter JavaScript String, which will be passed as parameters to top.TYPO3.InfoWindow.showItem
      * @return string
      */
     protected function generateReferenceToolTip($references, $launchViewParameter = '')
@@ -4451,7 +4451,7 @@ class PageLayoutView implements LoggerAwareInterface
             $htmlCode = '<a href="#"';
             if ($launchViewParameter !== '') {
                 $htmlCode .= ' onclick="' . htmlspecialchars(
-                        ('top.launchView(' . $launchViewParameter . '); return false;')
+                        ('top.TYPO3.InfoWindow.showItem(' . $launchViewParameter . '); return false;')
                     ) . '"';
             }
             $htmlCode .= ' title="' . htmlspecialchars(
diff --git a/typo3/sysext/backend/Resources/Private/TypeScript/InfoWindow.ts b/typo3/sysext/backend/Resources/Private/TypeScript/InfoWindow.ts
new file mode 100644 (file)
index 0000000..a7aa9e6
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * This file is part of the TYPO3 CMS project.
+ *
+ * It is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License, either version 2
+ * of the License, or any later version.
+ *
+ * For the full copyright and license information, please read the
+ * LICENSE.txt file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+import Modal = require('TYPO3/CMS/Backend/Modal');
+import Severity = require('TYPO3/CMS/Backend/Severity');
+
+/**
+ * Module: TYPO3/CMS/Backend/InfoWindow
+ * @exports TYPO3/CMS/Backend/InfoWindow
+ */
+class InfoWindow {
+  /**
+   * Shows the info modal
+   *
+   * @param {string} table
+   * @param {string | number} uid
+   */
+  public static showItem(table: string, uid: string|number): void {
+    Modal.advanced({
+      type: Modal.types.iframe,
+      size: Modal.sizes.large,
+      content: TYPO3.settings.ShowItem.moduleUrl
+        + '&table=' + encodeURIComponent(table)
+        + '&uid=' + (typeof uid === 'number' ? uid : encodeURIComponent(uid)),
+      severity: Severity.notice
+    });
+  }
+}
+
+// expose as global object
+TYPO3.InfoWindow = InfoWindow;
+export = InfoWindow;
index 2361706..a60042c 100644 (file)
@@ -41,7 +41,7 @@ define(['jquery', 'TYPO3/CMS/Backend/Modal', 'TYPO3/CMS/Backend/Severity'], func
   };
 
   ContextMenuActions.openInfoPopUp = function(table, uid) {
-    top.launchView(table, uid);
+    top.TYPO3.InfoWindow.showItem(table, uid);
   };
 
   ContextMenuActions.mountAsTreeRoot = function(table, uid) {
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/InfoWindow.js b/typo3/sysext/backend/Resources/Public/JavaScript/InfoWindow.js
new file mode 100644 (file)
index 0000000..6e4dd39
--- /dev/null
@@ -0,0 +1,13 @@
+/*
+ * This file is part of the TYPO3 CMS project.
+ *
+ * It is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License, either version 2
+ * of the License, or any later version.
+ *
+ * For the full copyright and license information, please read the
+ * LICENSE.txt file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+define(["require","exports","TYPO3/CMS/Backend/Modal","TYPO3/CMS/Backend/Severity"],function(a,b,c,d){"use strict";var e=function(){function a(){}return a.showItem=function(a,b){console.log(TYPO3.settings),c.advanced({type:c.types.iframe,size:c.sizes.large,content:TYPO3.settings.ShowItem.moduleUrl+"&table="+encodeURIComponent(a)+"&uid="+("number"==typeof b?b:encodeURIComponent(b)),severity:d.notice})},a}();return TYPO3.InfoWindow=e,e});
\ No newline at end of file
index f991de3..db65a90 100644 (file)
@@ -71,6 +71,7 @@ function str_replace(match, replace, string) {        //
  * Launcing information window for records/files (fileref as "table" argument)
  */
 function launchView(table, uid) {
+  console.warn('Calling launchView() has been deprecated in v9 and will be removed in v10.0');
   var thePreviewWindow = window.open(TYPO3.settings.ShowItem.moduleUrl + '&table=' + encodeURIComponent(table) + "&uid=" + encodeURIComponent(uid),
     "ShowItem" + Math.random().toString(16).slice(2),
     "width=650,height=600,status=0,menubar=0,resizable=0,location=0,directories=0,scrollbars=1,toolbar=0");
index d01a69a..a33f43b 100644 (file)
@@ -48,7 +48,7 @@
                        <bu:removeUser backendUser="{backendUser}" />
                </div>
                <div class="btn-group" role="group">
-                       <a class="btn btn-default" href="#" onclick="top.launchView('be_users', '{backendUser.uid}'); return false;"><core:icon identifier="actions-document-info" /></a>
+                       <a class="btn btn-default" href="#" onclick="top.TYPO3.InfoWindow.showItem('be_users', '{backendUser.uid}'); return false;"><core:icon identifier="actions-document-info" /></a>
                </div>
                <div class="btn-group" role="group">
                        <f:if condition="{compareUserUidList.{backendUser.uid}}">
index e97229e..0ac5900 100644 (file)
@@ -40,7 +40,7 @@
                                                </f:link.action>
                                        </f:else>
                                </f:if>
-                               <a class="btn btn-default" href="#" onclick="top.launchView('be_users', '{onlineUser.backendUser.uid}',''); return false;">
+                               <a class="btn btn-default" href="#" onclick="top.TYPO3.InfoWindow.showItem('be_users', '{onlineUser.backendUser.uid}'); return false;">
                                        <core:icon identifier="actions-document-info" />
                                </a>
                        </div>
index d1ad7a4..de58ead 100644 (file)
@@ -33,7 +33,7 @@
                        </f:if>
                </div>
                <div class="btn-group" role="group">
-                       <a class="btn btn-default" href="#" onclick="top.launchView('be_groups', '{backendUserGroup.uid}'); return false;"><core:icon identifier="actions-document-info" /></a
+                       <a class="btn btn-default" href="#" onclick="top.TYPO3.InfoWindow.showItem('be_groups', '{backendUserGroup.uid}'); return false;"><core:icon identifier="actions-document-info" /></a
                </div>
        </td>
 </tr>
index 3b1d1a5..28374a6 100644 (file)
@@ -718,7 +718,7 @@ class QueryView
             $out .= '<a class="btn btn-default" href="' . htmlspecialchars($url) . '">'
                 . $this->iconFactory->getIcon('actions-open', Icon::SIZE_SMALL)->render() . '</a>';
             $out .= '</div><div class="btn-group" role="group">';
-            $out .= '<a class="btn btn-default" href="#" onClick="top.launchView(\'' . $table . '\',' . $row['uid']
+            $out .= '<a class="btn btn-default" href="#" onClick="top.TYPO3.InfoWindow.showItem(\'' . $table . '\',' . $row['uid']
                 . ');return false;">' . $this->iconFactory->getIcon('actions-document-info', Icon::SIZE_SMALL)->render()
                 . '</a>';
             $out .= '</div>';
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Deprecation-83844-DeprecatedUsageOfToplaunchView.rst b/typo3/sysext/core/Documentation/Changelog/master/Deprecation-83844-DeprecatedUsageOfToplaunchView.rst
new file mode 100644 (file)
index 0000000..1aeac8c
--- /dev/null
@@ -0,0 +1,33 @@
+.. include:: ../../Includes.txt
+
+========================================================
+Deprecation: #83844 - Deprecated usage of top.launchView
+========================================================
+
+See :issue:`83844`
+
+Description
+===========
+
+The usage of :js:`top.launchView()`, that opens certain information in a popup window, has been deprecated.
+
+
+Impact
+======
+
+Calling :js:`top.launchView()` will trigger a deprecation log entry in the browser's console.
+
+
+Affected Installations
+======================
+
+Every 3rd party extension that uses :js:`top.launchView` is affected.
+
+
+Migration
+=========
+
+Either use :js:`top.TYPO3.InfoWindow.showItem()` directly or import the RequireJS module `TYPO3/CMS/Backend/InfoWindow`
+and call :js:`showItem()`.
+
+.. index:: Backend, JavaScript, NotScanned
index 7913c7f..bfa56bc 100644 (file)
@@ -517,7 +517,11 @@ class FileListController extends ActionController
             }
         }
 
+        /** @var \TYPO3\CMS\Backend\Routing\UriBuilder $uriBuilder */
+        $uriBuilder = GeneralUtility::makeInstance(\TYPO3\CMS\Backend\Routing\UriBuilder::class);
+
         $pageRenderer = $this->view->getModuleTemplate()->getPageRenderer();
+        $pageRenderer->addInlineSetting('ShowItem', 'moduleUrl', (string)$uriBuilder->buildUriFromRoute('show_item'));
         $pageRenderer->loadRequireJsModule('TYPO3/CMS/Filelist/FileList');
 
         $thumbnailConfiguration = GeneralUtility::makeInstance(ThumbnailConfiguration::class);
@@ -528,8 +532,6 @@ class FileListController extends ActionController
 
         $this->view->assign('searchWord', $searchWord);
         $this->view->assign('files', $fileFacades);
-        /** @var \TYPO3\CMS\Backend\Routing\UriBuilder $uriBuilder */
-        $uriBuilder = GeneralUtility::makeInstance(\TYPO3\CMS\Backend\Routing\UriBuilder::class);
         $this->view->assign('deleteUrl', (string)$uriBuilder->buildUriFromRoute('tce_file'));
         $this->view->assign('settings', [
             'jsConfirmationDelete' => $this->getBackendUser()->jsConfirmation(JsConfirmation::DELETE)
index fa150cc..536ed20 100644 (file)
@@ -1381,9 +1381,9 @@ class FileList
         if ($fileOrFolderObject->checkActionPermission('read')) {
             $infoOnClick = '';
             if ($fileOrFolderObject instanceof Folder) {
-                $infoOnClick = 'top.launchView( \'_FOLDER\', ' . GeneralUtility::quoteJSvalue($fullIdentifier) . ');return false;';
+                $infoOnClick = 'top.TYPO3.InfoWindow.showItem(\'_FOLDER\', ' . GeneralUtility::quoteJSvalue($fullIdentifier) . ');return false;';
             } elseif ($fileOrFolderObject instanceof File) {
-                $infoOnClick = 'top.launchView( \'_FILE\', ' . GeneralUtility::quoteJSvalue($fullIdentifier) . ');return false;';
+                $infoOnClick = 'top.TYPO3.InfoWindow.showItem(\'_FILE\', ' . GeneralUtility::quoteJSvalue($fullIdentifier) . ');return false;';
             }
             $cells['info'] = '<a href="#" class="btn btn-default" onclick="' . htmlspecialchars($infoOnClick) . '" title="' . $this->getLanguageService()->sL('LLL:EXT:lang/Resources/Private/Language/locallang_core.xlf:cm.info') . '">' . $this->iconFactory->getIcon('actions-document-info', Icon::SIZE_SMALL)->render() . '</a>';
         } else {
@@ -1535,7 +1535,7 @@ class FileList
      * sys_refindex records you hand over
      *
      * @param int $references number of records from sys_refindex table
-     * @param string $launchViewParameter JavaScript String, which will be passed as parameters to top.launchView
+     * @param string $launchViewParameter JavaScript String, which will be passed as parameters to top.TYPO3.InfoWindow.showItem
      * @return string
      */
     protected function generateReferenceToolTip($references, $launchViewParameter = '')
@@ -1546,7 +1546,7 @@ class FileList
             $htmlCode = '<a href="#"';
             if ($launchViewParameter !== '') {
                 $htmlCode .= ' onclick="' . htmlspecialchars(
-                        ('top.launchView(' . $launchViewParameter . '); return false;')
+                        ('top.TYPO3.InfoWindow.showItem(' . $launchViewParameter . '); return false;')
                     ) . '"';
             }
             $htmlCode .= ' title="' . htmlspecialchars(
index af348f0..aadfb5a 100644 (file)
@@ -48,10 +48,10 @@ define(['jquery', 'TYPO3/CMS/Backend/Modal', 'TYPO3/CMS/Backend/Severity'], func
 
   ContextMenuActions.openInfoPopUp = function(table, uid) {
     if (table === 'sys_file_storage') {
-      top.launchView(table, uid);
+      top.TYPO3.InfoWindow.showItem(table, uid);
     } else {
       //files and folders
-      top.launchView('_FILE', uid);
+      top.TYPO3.InfoWindow.showItem('_FILE', uid);
     }
   };
 
index 6203ec6..4e5323b 100644 (file)
@@ -15,7 +15,7 @@
  * Module: TYPO3/CMS/Filelist/Filelist
  * @exports TYPO3/CMS/Filelist/Filelist
  */
-define(['jquery'], function($) {
+define(['jquery', 'TYPO3/CMS/Backend/InfoWindow'], function($, InfoWindow) {
 
   $(function() {
     $('a.filelist-file-title').click(function(event) {
@@ -73,7 +73,7 @@ define(['jquery'], function($) {
    * @param identifier
    */
   function openFileInfoPopup(identifier) {
-    top.launchView('_FILE', identifier);
+    InfoWindow.showItem('_FILE', identifier);
   }
 
 });
index 926ed98..425eaeb 100644 (file)
@@ -1085,7 +1085,7 @@ class AbstractDatabaseRecordList extends AbstractRecordList
                 break;
             case 'info':
                 // "Info": (All records)
-                $code = '<a href="#" onclick="' . htmlspecialchars(('top.launchView(\'' . $table . '\', \'' . $row['uid'] . '\'); return false;')) . '" title="' . htmlspecialchars($lang->getLL('showInfo')) . '">' . $code . '</a>';
+                $code = '<a href="#" onclick="' . htmlspecialchars(('top.TYPO3.InfoWindow.showItem(\'' . $table . '\', \'' . $row['uid'] . '\'); return false;')) . '" title="' . htmlspecialchars($lang->getLL('showInfo')) . '">' . $code . '</a>';
                 break;
             default:
                 // Output the label now:
index 4b41206..7728024 100644 (file)
@@ -1937,7 +1937,7 @@ class DatabaseRecordList
         }
         $this->addActionToCellGroup($cells, $editAction, 'edit');
         // "Info": (All records)
-        $onClick = 'top.launchView(' . GeneralUtility::quoteJSvalue($table) . ', ' . (int)$row['uid'] . '); return false;';
+        $onClick = 'top.TYPO3.InfoWindow.showItem(' . GeneralUtility::quoteJSvalue($table) . ', ' . (int)$row['uid'] . '); return false;';
         $viewBigAction = '<a class="btn btn-default" href="#" onclick="' . htmlspecialchars($onClick) . '" title="' . htmlspecialchars($this->getLanguageService()->getLL('showInfo')) . '">'
             . $this->iconFactory->getIcon('actions-document-info', Icon::SIZE_SMALL)->render() . '</a>';
         $this->addActionToCellGroup($cells, $viewBigAction, 'viewBig');
@@ -3582,7 +3582,7 @@ class DatabaseRecordList
             case 'info':
                 // "Info": (All records)
                 $code = '<a href="#" onclick="' . htmlspecialchars(
-                        ('top.launchView(' . GeneralUtility::quoteJSvalue($table) . ', ' . (int)$row['uid'] . '); return false;')
+                        ('top.TYPO3.InfoWindow.showItem(' . GeneralUtility::quoteJSvalue($table) . ', ' . (int)$row['uid'] . '); return false;')
                     ) . '" title="' . htmlspecialchars($lang->getLL('showInfo')) . '">' . $code . '</a>';
                 break;
             default:
@@ -4282,7 +4282,7 @@ class DatabaseRecordList
      * sys_refindex records you hand over
      *
      * @param int $references number of records from sys_refindex table
-     * @param string $launchViewParameter JavaScript String, which will be passed as parameters to top.launchView
+     * @param string $launchViewParameter JavaScript String, which will be passed as parameters to top.TYPO3.InfoWindow.showItem
      * @return string
      */
     protected function generateReferenceToolTip($references, $launchViewParameter = '')
@@ -4293,7 +4293,7 @@ class DatabaseRecordList
             $htmlCode = '<a href="#"';
             if ($launchViewParameter !== '') {
                 $htmlCode .= ' onclick="' . htmlspecialchars(
-                        ('top.launchView(' . $launchViewParameter . '); return false;')
+                        ('top.TYPO3.InfoWindow.showItem(' . $launchViewParameter . '); return false;')
                     ) . '"';
             }
             $htmlCode .= ' title="' . htmlspecialchars(