Fixed bug #15373: Page browser single table list view: Entering page number doesn...
authorSteffen Gebert <steffen.gebert@typo3.org>
Fri, 24 Sep 2010 11:59:00 +0000 (11:59 +0000)
committerSteffen Gebert <steffen.gebert@typo3.org>
Fri, 24 Sep 2010 11:59:00 +0000 (11:59 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/branches/TYPO3_4-4@8871 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
typo3/class.db_list_extra.inc

index 2d58e2f..5f9c8ec 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-09-24  Steffen Gebert  <steffen@steffen-gebert.de>
+
+       * Fixed bug #15373: Page browser single table list view: Entering page number doesn't work
+
 2010-09-24  Ernesto Baschny  <ernst@cron-it.de>
 
        * Fixed bug #15653: Only show upload comments that are newer than installed version in update function of EM
index 85c77af..22c9f19 100644 (file)
@@ -593,8 +593,7 @@ class localRecordList extends recordList {
 
                                        // Record navigation is added to the beginning and end of the table if in single table mode
                                if ($this->table) {
-                                       $pageNavigation = $this->renderListNavigation();
-                                       $iOut = $pageNavigation . $iOut . $pageNavigation;
+                                       $iOut = $this->renderListNavigation('top') . $iOut . $this->renderListNavigation('bottom');
                                } else {
                                                // show that there are more records than shown
                                        if ($this->totalItems > $this->itemsLimitPerTable) {
@@ -1000,10 +999,11 @@ class localRecordList extends recordList {
        /**
         * Creates a page browser for tables with many records
         *
+        * @param       string          Distinguish between 'top' and 'bottom' part of the navigation (above or below the records)
         * @return      string  Navigation HTML
         *
         */
-       protected function renderListNavigation() {
+       protected function renderListNavigation($renderPart = 'top') {
                $totalPages = ceil($this->totalItems / $this->iLimit);
 
                $content = '';
@@ -1059,18 +1059,17 @@ class localRecordList extends recordList {
                        }
 
                        $reload = '<a href="#" onclick="document.dblistForm.action=\''
-                               . $listURL . '&pointer=\'+calculatePointer(); document.dblistForm.submit(); return true;" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_common.xml:reload', TRUE) . '">' .
+                               . $listURL . '&pointer=\'+calculatePointer(document.getElementById(\'jumpPage-' . $renderPart .'\').value); document.dblistForm.submit(); return true;" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_common.xml:reload', TRUE) . '">' .
                                        t3lib_iconWorks::getSpriteIcon('actions-system-refresh') .
                                '</a>';
 
-                       // Add js to traverse a page select input to a pointer value
-                       $content = '
+                       if ($renderPart === 'top') {
+                                       // Add js to traverse a page select input to a pointer value
+                               $content = '
 <script type="text/JavaScript">
 /*<![CDATA[*/
 
-       function calculatePointer(){
-               page = document.getElementById(\'jumpPage\').value;
-
+       function calculatePointer(page) {
                if (page > ' . $totalPages . ') {
                        page = ' . $totalPages . ';
                }
@@ -1087,10 +1086,10 @@ class localRecordList extends recordList {
 /*]]>*/
 </script>
 ';
-
+                       }
                        $pageNumberInput = '<span>
                                <input type="text" value="' . $currentPage
-                               . '" size="3" id="jumpPage" name="jumpPage" onkeyup="if (event.keyCode == Event.KEY_RETURN) { document.dblistForm.action=\'' . $listURL . '&pointer=\'+calculatePointer(); document.dblistForm.submit(); } return true;" />
+                               . '" size="3" id="jumpPage-' . $renderPart . '" name="jumpPage-' . $renderPart . '" onkeyup="if (event.keyCode == Event.KEY_RETURN) { document.dblistForm.action=\'' . $listURL . '&pointer=\'+calculatePointer(this.value); document.dblistForm.submit(); } return true;" />
                                </span>';
                        $pageIndicator = '<span class="pageIndicator">'
                                . sprintf($GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_mod_web_list.xml:pageIndicator'), $pageNumberInput, $totalPages)