[BUGFIX] Fix JS errors in context menu 62/51262/3
authorTymoteusz Motylewski <t.motylewski@gmail.com>
Thu, 9 Feb 2017 11:28:39 +0000 (12:28 +0100)
committerTymoteusz Motylewski <t.motylewski@gmail.com>
Thu, 9 Feb 2017 11:39:20 +0000 (12:39 +0100)
Fixes two issues: syntax error (missing semicolon),
and "Uncaught TypeError: Cannot read property 'refresh' of undefined"
when e.g. deleting a page or a file.

In file module, refresh is not needed as all actions are refreshing
the frames anyway.

Releases: master, 7.6
Resolves: #79091
Change-Id: Icfc9f786c24099c55d8e60cf30f72f035ae28231
Reviewed-on: https://review.typo3.org/51262
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
typo3/sysext/backend/Classes/ClickMenu/ClickMenu.php

index 78db9b2..b651688 100644 (file)
@@ -825,7 +825,8 @@ class ClickMenu
             . $this->frameLocation($loc . '.document') . '.search)+'
             . GeneralUtility::quoteJSvalue(
                 '&cmd[' . $table . '][' . $uid . '][delete]=1&prErr=1&vC=' . $this->backendUser->veriCode()
-            );
+            )
+            . ';';
 
         if ($table === 'pages') {
             $jsCode .= 'top.nav.refresh.defer(500, top.nav);';
@@ -1118,7 +1119,7 @@ class ClickMenu
         return $this->linkItem(
             $this->label($type),
             $this->iconFactory->getIcon($iconName, Icon::SIZE_SMALL)->render(),
-            $editOnClick . 'top.nav.refresh();'
+            $editOnClick
         );
     }
 
@@ -1209,7 +1210,7 @@ class ClickMenu
         $jsCode = $loc . '.location.href='
             . GeneralUtility::quoteJSvalue($this->clipObj->pasteUrl('_FILE', $path, 0) . '&redirect=')
             . '+top.rawurlencode(' . $this->frameLocation($loc . '.document')
-            . '.pathname+' . $this->frameLocation($loc . '.document') . '.search); top.nav.refresh();';
+            . '.pathname+' . $this->frameLocation($loc . '.document') . '.search);';
 
         if ($this->backendUser->jsConfirmation(JsConfirmation::COPY_MOVE_PASTE)) {
             $title = $this->languageService->sL('LLL:EXT:lang/locallang_mod_web_list.xlf:clip_paste');
@@ -1320,7 +1321,7 @@ class ClickMenu
             GeneralUtility::quoteJSvalue(
                 '&cmd[pages][' . $srcUid . '][' . $action . ']=' . $negativeSign . $dstUid . '&prErr=1&vC=' .
                 $this->backendUser->veriCode()
-            ) . ';};top.nav.refresh();';
+            ) . ';};';
         return $this->linkItem(
             $this->label($action . 'Page_' . $into),
             $this->iconFactory->getIcon('actions-document-paste-' . $into, Icon::SIZE_SMALL)->render(),
@@ -1346,7 +1347,7 @@ class ClickMenu
             GeneralUtility::quoteJSvalue(
                 '&file[' . $action . '][0][data]=' . $srcPath . '&file[' . $action . '][0][target]=' . $dstPath . '&prErr=1&vC=' .
                 $this->backendUser->veriCode()
-            ) . ';};top.nav.refresh();';
+            ) . ';};';
         return $this->linkItem(
             $this->label($action . 'Folder_into'),
             $this->iconFactory->getIcon('apps-pagetree-drag-move-into', Icon::SIZE_SMALL)->render(),