Bug #98129
open
Workspace pagination is broken
Added by Francois Suter over 2 years ago.
Updated 3 months ago.
Sprint Focus:
On Location Sprint
Description
The pagination of the Workspaces module does not work. Visually it always displays the first 30 elements. When looking at the response of the AJAX request, it appears that all elements are returned every time, no matter what value is passed in the start
parameter.
The culprit is \TYPO3\CMS\Workspaces\Service\GridDataService::calculateStartWithCollections()
which always returns "0". This is due to line 699, a regression introduced by https://github.com/TYPO3/typo3/commit/7258b52477a3c9119a24af20c1513c111dac768f (how could it be merged?). The problem is that the test on line 699:
if (!isset($this->dataArray[$recordsCount])) {
will always fail because the keys of array $this->dataArray
are not numerical. They are strings assembled in \TYPO3\CMS\Workspaces\Service\GridDataService::generateDataArray()
, on line 194:
$versionArray['id'] = $table . ':' . $record['uid'];
- Related to Bug #93915: Workspace "Uncaught (in promise) TypeError: a is null" when in workspace manager module added
- Related to Bug #93645: Workspace pagination empty and Javascript error: Uncaught (in promise) TypeError: t is undefined added
resolveDataArrayDependencies
: having $this->dataArray = $collectionService->process($this->dataArray);
creates numeric keys
getDataArray
: having $this->dataArray = array_values($this->dataArray);
creates numeric keys
getDataArray
has the following code as well - which creates numeric keys for a particular case -
To me it seems like $this->dataArray
nowadays should be just a list, no other information in the key. This $versionIdentifier
was used in the past to avoid duplicates (overlays, new or move place-holders).
Thus, I think it now just should be like this in generateDataArray()
:
$this->dataArray[] = $versionArray;
- Sprint Focus set to Stabilization Sprint
- Sprint Focus changed from Stabilization Sprint to On Location Sprint
- Status changed from New to Needs Feedback
Is this reproducible on version 12 or higher? I tried a short test on version 12, modifying 30+ records (pages and CE) until I got 2 pages on the Workspace module.
And the pagination on the bottom seems to work (tried clicking on both numbers and arrows)
Is a different test necessary?
Also available in: Atom
PDF