diff --git a/extension/Classes/Core/BuildFormBootstrap.php b/extension/Classes/Core/BuildFormBootstrap.php index da29ad8b0a11d0a9706455207969466346bd3f2a..9c46556f9a99bd8e3cbb76a44030f91569ef9d65 100644 --- a/extension/Classes/Core/BuildFormBootstrap.php +++ b/extension/Classes/Core/BuildFormBootstrap.php @@ -1002,8 +1002,6 @@ class BuildFormBootstrap extends AbstractBuildForm { $firstRecordFlag = ($currentRecordIndex === array_key_first($recordIdArr)); $lastRecordFlag = ($currentRecordIndex === array_key_last($recordIdArr)); - $btnCurrent = $btnPreviousNextSqlArr[$currentRecordIndex][F_BTN_PREVIOUS_NEXT_SQL_BTN_CURRENT] ?? ''; - // r=0 disables both buttons if (!$currentRecordId) { $firstRecordFlag = true; @@ -1011,6 +1009,8 @@ class BuildFormBootstrap extends AbstractBuildForm { $btnPreviousNextLoopFlag = false; } + $btnCurrent = (!$currentRecordId) ? null : $btnPreviousNextSqlArr[$currentRecordIndex][F_BTN_PREVIOUS_NEXT_SQL_BTN_CURRENT] ?? ''; + // Keyword btnPrevious is used if ($btnPreviousGiven) { $btnPrevious = $btnPreviousNextSqlArr[$currentRecordIndex - 1][F_BTN_PREVIOUS_NEXT_SQL_BTN_PREVIOUS] ?? null; @@ -1019,8 +1019,10 @@ class BuildFormBootstrap extends AbstractBuildForm { // btnPreviousNextLoop is not enabled and first record is currently selected // Button should be disabled if (!$btnPreviousNextLoopFlag && $firstRecordFlag) { - $btnPreviousArr = Token::explodeTokenString($btnPreviousNextSqlArr[$currentRecordIndex][F_BTN_PREVIOUS_NEXT_SQL_BTN_PREVIOUS]); + $btnPreviousArr = Token::explodeTokenString($btnPreviousNextSqlArr[array_key_last($btnPreviousNextSqlArr)][F_BTN_PREVIOUS_NEXT_SQL_BTN_PREVIOUS]); $btnPreviousArr['r'] = '3'; + $btnPreviousArr['t'] = ''; + $btnPreviousArr['o'] = F_BTN_PREVIOUS_NEXT_SQL_BTN_PREVIOUS_TOOLTIP; $btnPrevious = KeyValueStringParser::unparse($btnPreviousArr, PARAM_KEY_VALUE_DELIMITER, PARAM_DELIMITER); } @@ -1046,8 +1048,10 @@ class BuildFormBootstrap extends AbstractBuildForm { // btnPreviousNextLoop is not enabled and last record is currently selected // Button should be disabled if (!$btnPreviousNextLoopFlag && $lastRecordFlag) { - $btnPreviousArr = Token::explodeTokenString($btnPreviousNextSqlArr[$currentRecordIndex][F_BTN_PREVIOUS_NEXT_SQL_BTN_NEXT]); + $btnPreviousArr = Token::explodeTokenString($btnPreviousNextSqlArr[array_key_first($recordIdArr)][F_BTN_PREVIOUS_NEXT_SQL_BTN_NEXT]); $btnPreviousArr['r'] = '3'; + $btnPreviousArr['t'] = ''; + $btnPreviousArr['o'] = F_BTN_PREVIOUS_NEXT_SQL_BTN_NEXT_TOOLTIP; $btnNext = KeyValueStringParser::unparse($btnPreviousArr, PARAM_KEY_VALUE_DELIMITER, PARAM_DELIMITER); } diff --git a/extension/Classes/Core/Constants.php b/extension/Classes/Core/Constants.php index cfa11c60d2552c0b3e3c5b3d4e751a3e9807100b..084df1f0a58836699572200129e7d31a7d1680ca 100644 --- a/extension/Classes/Core/Constants.php +++ b/extension/Classes/Core/Constants.php @@ -1242,8 +1242,8 @@ const F_BTN_PREVIOUS_NEXT_SQL_BTN_NEXT = 'btnNext'; const F_BTN_PREVIOUS_NEXT_SQL_BTN_CURRENT = 'btnCurrent'; const F_BTN_PREVIOUS_NEXT_SQL_BTN_PREVIOUS_GLYPHICON = 'glyphicon glyphicon-arrow-left'; const F_BTN_PREVIOUS_NEXT_SQL_BTN_NEXT_GLYPHICON = 'glyphicon glyphicon-arrow-right'; -const F_BTN_PREVIOUS_NEXT_SQL_BTN_PREVIOUS_TOOLTIP = 'The previous record can not be selected.'; -const F_BTN_PREVIOUS_NEXT_SQL_BTN_NEXT_TOOLTIP = 'The next record can not be selected.'; +const F_BTN_PREVIOUS_NEXT_SQL_BTN_PREVIOUS_TOOLTIP = 'No previous record available.'; +const F_BTN_PREVIOUS_NEXT_SQL_BTN_NEXT_TOOLTIP = 'No next record available.'; // Form Columns: Only in form file const F_FILE_FORM_ELEMENT = 'FormElement_ff'; // Key for FormElements array saved in Form File