diff --git a/Build/Sources/Sass/component/_table.scss b/Build/Sources/Sass/component/_table.scss
index 18eab5ce2cb75f78a11fdfcd70f7c5db4e730bf1..fbcfa27177d9e22423f59bbe2e297438aea60245 100644
--- a/Build/Sources/Sass/component/_table.scss
+++ b/Build/Sources/Sass/component/_table.scss
@@ -110,13 +110,18 @@
         }
     }
 
+    .col-language {
+        width: 200px;
+    }
+
     .col-recordtitle {
         width: 250px;
     }
 
     .col-state,
     .col-recordtitle,
-    .col-action {
+    .col-action,
+    .col-language {
         min-width: 120px;
     }
 
diff --git a/Build/Sources/Sass/module/_workspaces.scss b/Build/Sources/Sass/module/_workspaces.scss
index 726ba4efbf507799c0b145b368b70b8a3578582f..8716f95eac93a5e5428a6d4c9f7ccbd42ec29244 100644
--- a/Build/Sources/Sass/module/_workspaces.scss
+++ b/Build/Sources/Sass/module/_workspaces.scss
@@ -15,47 +15,3 @@
         height: 100%;
     }
 }
-
-.workspace-state-unchanged {
-    color: #000;
-}
-
-.workspace-state-modified {
-    color: #ff8700;
-}
-
-.workspace-state-moved {
-    color: #457fb8;
-}
-
-.workspace-state-new {
-    color: #3c9934;
-}
-
-.workspace-state-hidden {
-    color: #abaaaa;
-}
-
-.workspace-state-deleted {
-    color: #000;
-    text-decoration: line-through;
-}
-
-.workspace-legend {
-    margin: 5px;
-    height: 18px;
-    color: #888;
-
-    dd,
-    dt {
-        display: inline;
-        overflow: hidden;
-    }
-
-    dd {
-        span {
-            display: inline-block;
-            padding: 4px;
-        }
-    }
-}
diff --git a/Build/Sources/TypeScript/workspaces/backend.ts b/Build/Sources/TypeScript/workspaces/backend.ts
index 972f9ff79e7207c41b7d59528ecf9bf53ef40ea3..d7c35d2c07f673ac96f3bf06b892713edae52113 100644
--- a/Build/Sources/TypeScript/workspaces/backend.ts
+++ b/Build/Sources/TypeScript/workspaces/backend.ts
@@ -71,7 +71,7 @@ class Backend extends Workspaces {
     language: 'all',
     limit: 30,
     query: '',
-    sort: 'label_Live',
+    sort: 'label_Workspace',
     start: 0,
     filterTxt: '',
   };
@@ -569,7 +569,7 @@ class Backend extends Workspaces {
 
       Modal.advanced({
         type: Modal.types.default,
-        title: TYPO3.lang['window.recordInformation'].replace('{0}', (tableRow.querySelector('.t3js-title-live') as HTMLElement).innerText.trim()),
+        title: TYPO3.lang['window.recordInformation'].replace('{0}', (tableRow.querySelector('.t3js-title-workspace') as HTMLElement).innerText.trim()),
         content: content,
         severity: SeverityEnum.info,
         buttons: modalButtons,
diff --git a/Build/Sources/TypeScript/workspaces/renderable/record-table.ts b/Build/Sources/TypeScript/workspaces/renderable/record-table.ts
index e1b828b857de76c0544036265eb39737644a5270..c0ef023b000dc795482a63521eb2e06ee1b6c32f 100644
--- a/Build/Sources/TypeScript/workspaces/renderable/record-table.ts
+++ b/Build/Sources/TypeScript/workspaces/renderable/record-table.ts
@@ -30,8 +30,6 @@ export type RecordData = {
   Workspaces_CollectionChildren: number,
   label_Workspace: string,
   label_Workspace_crop: string,
-  label_Live: string,
-  label_Live_crop: string,
   label_Stage: string,
   label_nextStage: string,
   value_nextStage: number,
@@ -47,13 +45,13 @@ export type RecordData = {
   t3ver_oid: number,
   livepid: number,
   stage: number,
-  icon_Live: string,
-  icon_Live_Overlay: string,
   icon_Workspace: string,
   icon_Workspace_Overlay: string,
   languageValue: number,
   language: {
-    icon: string
+    icon: string,
+    title: string,
+    title_crop: string
   },
   allowedAction_nextStage: boolean,
   allowedAction_prevStage: boolean,
@@ -134,13 +132,15 @@ export class RecordTableElement extends LitElement {
                 </ul>
               </div>
             </th>
-            <th>${TYPO3.lang['column.wsTitle']}</th>
-            <th>${TYPO3.lang['column.liveTitle']}</th>
+            <th class="col-min">${TYPO3.lang['column.wsTitle']}</th>
+            <th class="col-language">${TYPO3.lang['labels._LOCALIZATION_']}</th>
+            <th class="col-datetime">${TYPO3.lang['column.lastChangeOn']}</th>
+            <th class="col-state">${TYPO3.lang['column.wsStateAction']}</th>
+            <th class="col-state">${TYPO3.lang['column.integrity']}</th>
             <th>${TYPO3.lang['column.stage']}</th>
-            <th>${TYPO3.lang['column.lastChangeOn']}</th>
-            <th>${TYPO3.lang['column.integrity']}</th>
-            <th><typo3-backend-icon identifier="flags-multiple" size="small"></typo3-backend-icon></th>
-            <th></th>
+            <th class="col-control nowrap">
+              <span class="visually-hidden">${TYPO3.lang['labels._CONTROL_']}</span>
+            </th>
           </tr>
           </thead>
           <tbody data-multi-record-selection-row-selection="true">
@@ -166,6 +166,36 @@ export class RecordTableElement extends LitElement {
       });
     }
 
+    const wsState = data.state_Workspace;
+    let wsStateActionClass: string;
+    let wsStateActionLabel: string;
+
+    switch (wsState) {
+      case 'deleted':
+        wsStateActionClass = 'danger';
+        wsStateActionLabel = TYPO3.lang['column.wsStateAction.deleted'];
+        break;
+      case 'hidden':
+        wsStateActionClass = 'secondary';
+        wsStateActionLabel = TYPO3.lang['column.wsStateAction.hidden'];
+        break;
+      case 'modified':
+        wsStateActionClass = 'warning';
+        wsStateActionLabel = TYPO3.lang['column.wsStateAction.modified'];
+        break;
+      case 'moved':
+        wsStateActionClass = 'primary';
+        wsStateActionLabel = TYPO3.lang['column.wsStateAction.moved'];
+        break;
+      case 'new':
+        wsStateActionClass = 'success';
+        wsStateActionLabel = TYPO3.lang['column.wsStateAction.new'];
+        break;
+      default:
+        wsStateActionClass = 'secondary';
+        wsStateActionLabel = TYPO3.lang['column.wsStateAction.unchanged'];
+    }
+
     return html`
       ${latestPathChanged ? html`
         <tr>
@@ -196,38 +226,70 @@ export class RecordTableElement extends LitElement {
             <input type="checkbox" class="form-check-input t3js-multi-record-selection-check"/>
           </span>
         </td>
-        <td class="t3js-title-workspace">
+        <td class="col-min t3js-title-workspace">
           <span class="icon icon-size-small">
-            <typo3-backend-icon identifier=${IconHelper.getIconIdentifier(data.icon_Workspace)} overlay=${IconHelper.getIconIdentifier(data.icon_Workspace_Overlay)} size="small">
+            <typo3-backend-icon identifier=${IconHelper.getIconIdentifier(data.icon_Workspace)} overlay=${IconHelper.getIconIdentifier(data.icon_Workspace_Overlay)} size="small"></typo3-backend-icon>
           </span>
           <a href="#" data-action="changes">
-            <span class="workspace-state-${data.state_Workspace}" title=${data.label_Workspace}>
+            <span title=${data.label_Workspace}>
               ${data.label_Workspace_crop}
             </span>
           </a>
         </td>
-        <td class="t3js-title-live">
-          <span class="icon icon-size-small">
-            <typo3-backend-icon identifier=${IconHelper.getIconIdentifier(data.icon_Live)} overlay=${IconHelper.getIconIdentifier(data.icon_Live_Overlay)} size="small">
-          </span>
-          <span class="workspace-live-title" title=${data.label_Live}>
-            ${data.label_Live_crop}
+        <td class="col-language">
+          <span title="${data.language.title}" class="icon icon-size-small">
+            <typo3-backend-icon identifier=${IconHelper.getIconIdentifier(data.language.icon)} size="small"></typo3-backend-icon>
           </span>
+          ${data.language.title_crop}
         </td>
-        <td>${data.label_Stage}</td>
-        <td>${data.lastChangedFormatted}</td>
-        <td>${ data.integrity.messages !== '' ? html`
-          <span>
-            <typo3-backend-icon identifier=${IconHelper.getIconIdentifier(data.integrity.status)} size="small">
+        <td class="col-datetime">${data.lastChangedFormatted}</td>
+        <td class="col-state">
+          <span class="badge badge-${wsStateActionClass}">${wsStateActionLabel}</span>
+        </td>
+        <td class="col-state">${ data.integrity.messages !== '' ? html`
+          <span title="${data.integrity.messages}" class="icon icon-size-small">
+            <typo3-backend-icon identifier=${IconHelper.getIconIdentifier(data.integrity.status)} size="small"></typo3-backend-icon>
           </span>
         ` : nothing}</td>
-        <td><typo3-backend-icon identifier=${IconHelper.getIconIdentifier(data.language.icon)} size="small"></td>
-        <td class="text-end nowrap">${this.renderActions(data)}</td>
+        <td>${data.label_Stage}</td>
+        <td class="col-control nowrap">
+          <div class="btn-group">${this.renderElementActions(data)}</div>
+          <div class="btn-group">${this.renderVersioningActions(data)}</div>
+        </td>
       </tr>
     `;
   }
 
-  private renderActions(data: RecordData): TemplateResult[] {
+  private renderElementActions(data: RecordData): TemplateResult[] {
+    return [
+      this.getAction(
+        data.allowedAction_view,
+        'preview',
+        'actions-version-workspace-preview',
+        {
+          'title': TYPO3.lang['tooltip.viewElementAction']
+        }
+      ),
+      this.getAction(
+        data.allowedAction_edit,
+        'open',
+        'actions-open',
+        {
+          'title': TYPO3.lang['tooltip.editElementAction']
+        }
+      ),
+      this.getAction(
+        data.allowedAction_versionPageOpen,
+        'version',
+        'actions-version-page-open',
+        {
+          'title': TYPO3.lang['tooltip.openPage']
+        }
+      )
+    ];
+  }
+
+  private renderVersioningActions(data: RecordData): TemplateResult[] {
     const hasSubitems = data.Workspaces_CollectionChildren > 0 && data.Workspaces_CollectionCurrent !== '';
 
     return [
@@ -258,34 +320,10 @@ export class RecordTableElement extends LitElement {
           'title': TYPO3.lang['tooltip.publish']
         }
       ),
-      this.getAction(
-        data.allowedAction_view,
-        'preview',
-        'actions-version-workspace-preview',
-        {
-          'title': TYPO3.lang['tooltip.viewElementAction']
-        }
-      ),
-      this.getAction(
-        data.allowedAction_edit,
-        'open',
-        'actions-open',
-        {
-          'title': TYPO3.lang['tooltip.editElementAction']
-        }
-      ),
-      this.getAction(
-        data.allowedAction_versionPageOpen,
-        'version',
-        'actions-version-page-open',
-        {
-          'title': TYPO3.lang['tooltip.openPage']
-        }
-      ),
       this.getAction(
         data.allowedAction_delete,
         'remove',
-        'actions-version-document-remove',
+        'actions-delete',
         {
           'title': TYPO3.lang['tooltip.discardVersion']
         }
@@ -312,7 +350,7 @@ export class RecordTableElement extends LitElement {
           data-bs-target=${ifDefined(additionalAttributes['data-bs-target'])}
           data-bs-toggle=${ifDefined(additionalAttributes['data-bs-toggle'])}
           aria-expanded=${ifDefined(additionalAttributes['aria-expanded'])}>
-          <typo3-backend-icon identifier=${IconHelper.getIconIdentifier(iconIdentifier)} size="small">
+          <typo3-backend-icon identifier=${IconHelper.getIconIdentifier(iconIdentifier)} size="small"></typo3-backend-icon>
         </button>
       `;
     }
@@ -322,7 +360,7 @@ export class RecordTableElement extends LitElement {
       data-bs-target=${ifDefined(additionalAttributes['data-bs-target'])}
       data-bs-toggle=${ifDefined(additionalAttributes['data-bs-toggle'])}
       aria-expanded=${ifDefined(additionalAttributes['aria-expanded'])}>
-      <typo3-backend-icon identifier=${IconHelper.getIconIdentifier('empty-empty')} size="small">
+      <typo3-backend-icon identifier=${IconHelper.getIconIdentifier('empty-empty')} size="small"></typo3-backend-icon>
     </span>`;
   }
 }
diff --git a/typo3/sysext/backend/Resources/Public/Css/backend.css b/typo3/sysext/backend/Resources/Public/Css/backend.css
index 1557de04691ff066bab19869443dd77212677fa3..dd5913ce20b8e991a126fd2d1475ea2629601d4a 100644
--- a/typo3/sysext/backend/Resources/Public/Css/backend.css
+++ b/typo3/sysext/backend/Resources/Public/Css/backend.css
@@ -3473,8 +3473,9 @@ typo3-backend-form-selecttree-toolbar{display:block;border-bottom:1px solid rgba
 @media (min-width:768px){
 .table .col-fieldname{width:250px}
 }
+.table .col-language{width:200px}
 .table .col-recordtitle{width:250px}
-.table .col-action,.table .col-recordtitle,.table .col-state{min-width:120px}
+.table .col-action,.table .col-language,.table .col-recordtitle,.table .col-state{min-width:120px}
 .table .col-differences,.table .col-task{min-width:400px}
 .table .col-clipboard,.table .col-control,.table .col-nowrap{white-space:nowrap!important}
 .table .col-clipboard,.table .col-control{text-align:end}
@@ -4472,13 +4473,4 @@ html{scroll-behavior:smooth}
 .workspace-panel tr.collapsing{transition:none}
 .workspace-panel tr.collapse{display:none}
 .workspace-panel tr.collapse.show{display:table-row}
-.workspace-panel .page-link{height:100%}
-.workspace-state-unchanged{color:#000}
-.workspace-state-modified{color:#ff8700}
-.workspace-state-moved{color:#457fb8}
-.workspace-state-new{color:#3c9934}
-.workspace-state-hidden{color:#abaaaa}
-.workspace-state-deleted{color:#000;text-decoration:line-through}
-.workspace-legend{margin:5px;height:18px;color:#888}
-.workspace-legend dd,.workspace-legend dt{display:inline;overflow:hidden}
-.workspace-legend dd span{display:inline-block;padding:4px}
\ No newline at end of file
+.workspace-panel .page-link{height:100%}
\ No newline at end of file
diff --git a/typo3/sysext/workspaces/Classes/Controller/Remote/RemoteServer.php b/typo3/sysext/workspaces/Classes/Controller/Remote/RemoteServer.php
index 8757bade02b37f008338674d4d99db600cf7aee3..03fc22bcc2fee97f682a671125b445a8434ccdbc 100644
--- a/typo3/sysext/workspaces/Classes/Controller/Remote/RemoteServer.php
+++ b/typo3/sysext/workspaces/Classes/Controller/Remote/RemoteServer.php
@@ -273,8 +273,6 @@ class RemoteServer
                 [
                     // these parts contain HTML (don't escape)
                     'diff' => $versionDifferencesEvent->getVersionDifferences(),
-                    'icon_Live' => $iconLive->getIdentifier(),
-                    'icon_Live_Overlay' => $iconLive->getOverlayIcon()?->getIdentifier() ?? '',
                     'icon_Workspace' => $iconWorkspace->getIdentifier(),
                     'icon_Workspace_Overlay' => $iconWorkspace->getOverlayIcon()?->getIdentifier() ?? '',
                     // this part is already escaped in getCommentsForRecord()
diff --git a/typo3/sysext/workspaces/Classes/Controller/ReviewController.php b/typo3/sysext/workspaces/Classes/Controller/ReviewController.php
index 89be7f8e40594ed7971d9c5d48872f8d1007a85a..e0afaedd486e4cd53d767faded57d9ce82bdf401 100644
--- a/typo3/sysext/workspaces/Classes/Controller/ReviewController.php
+++ b/typo3/sysext/workspaces/Classes/Controller/ReviewController.php
@@ -115,7 +115,6 @@ class ReviewController
             'isAdmin' => $backendUser->isAdmin(),
             'customWorkspaceExists' => $customWorkspaceExists,
             'showGrid' => $workspaceIsAccessible,
-            'showLegend' => $workspaceIsAccessible,
             'pageUid' => $pageUid,
             'pageTitle' => $pageTitle,
             'activeWorkspaceUid' => $activeWorkspace,
diff --git a/typo3/sysext/workspaces/Classes/Service/GridDataService.php b/typo3/sysext/workspaces/Classes/Service/GridDataService.php
index 92e0341c241bc61dfbf8e70114122b97dfd61769..3684c27fc0c58e06ca086436e8d216db5c3a11d0 100644
--- a/typo3/sysext/workspaces/Classes/Service/GridDataService.php
+++ b/typo3/sysext/workspaces/Classes/Service/GridDataService.php
@@ -181,8 +181,6 @@ class GridDataService implements LoggerAwareInterface
                     $versionArray = array_merge($versionArray, $defaultGridColumns);
                     $versionArray['label_Workspace'] = htmlspecialchars($workspaceRecordLabel);
                     $versionArray['label_Workspace_crop'] = htmlspecialchars(GeneralUtility::fixed_lgd_cs($workspaceRecordLabel, (int)$backendUser->uc['titleLen']));
-                    $versionArray['label_Live'] = htmlspecialchars($liveRecordLabel);
-                    $versionArray['label_Live_crop'] = htmlspecialchars(GeneralUtility::fixed_lgd_cs($liveRecordLabel, (int)$backendUser->uc['titleLen']));
                     $versionArray['label_Stage'] = htmlspecialchars($stagesObj->getStageTitle((int)$versionRecord['t3ver_stage']));
                     $tempStage = $stagesObj->getNextStage($versionRecord['t3ver_stage']);
                     $versionArray['label_nextStage'] = htmlspecialchars($stagesObj->getStageTitle((int)$tempStage['uid']));
@@ -205,14 +203,14 @@ class GridDataService implements LoggerAwareInterface
                     $versionArray['t3ver_oid'] = $calculatedT3verOid;
                     $versionArray['livepid'] = $record['livepid'];
                     $versionArray['stage'] = $versionRecord['t3ver_stage'];
-                    $versionArray['icon_Live'] = $iconLive->getIdentifier();
-                    $versionArray['icon_Live_Overlay'] = $iconLive->getOverlayIcon()?->getIdentifier() ?? '';
                     $versionArray['icon_Workspace'] = $iconWorkspace->getIdentifier();
                     $versionArray['icon_Workspace_Overlay'] = $iconWorkspace->getOverlayIcon()?->getIdentifier() ?? '';
                     $languageValue = $this->getLanguageValue($table, $versionRecord);
                     $versionArray['languageValue'] = $languageValue;
                     $versionArray['language'] = [
                         'icon' => $iconFactory->getIcon($this->getSystemLanguageValue($languageValue, $pageId, 'flagIcon'), IconSize::SMALL)->getIdentifier(),
+                        'title' => $this->getSystemLanguageValue($languageValue, $pageId, 'title'),
+                        'title_crop' => htmlspecialchars(GeneralUtility::fixed_lgd_cs($this->getSystemLanguageValue($languageValue, $pageId, 'title'), (int)$backendUser->uc['titleLen'])),
                     ];
                     $versionArray['allowedAction_nextStage'] = $isRecordTypeAllowedToModify && $stagesObj->isNextStageAllowedForUser($versionRecord['t3ver_stage']);
                     $versionArray['allowedAction_prevStage'] = $isRecordTypeAllowedToModify && $stagesObj->isPrevStageAllowedForUser($versionRecord['t3ver_stage']);
@@ -401,7 +399,6 @@ class GridDataService implements LoggerAwareInterface
                 uasort($this->dataArray, [$this, 'intSort']);
                 break;
             case 'label_Workspace':
-            case 'label_Live':
             case 'label_Stage':
             case 'workspace_Title':
             case 'path_Live':
@@ -513,7 +510,6 @@ class GridDataService implements LoggerAwareInterface
                 'change' => ['hidden' => 0],
                 'path_Workspace' => ['hidden' => 0],
                 'path_Live' => ['hidden' => 0],
-                'label_Live' => ['hidden' => 0],
                 'label_Stage' => ['hidden' => 0],
                 'label_Workspace' => ['hidden' => 0],
             ];
diff --git a/typo3/sysext/workspaces/Resources/Private/Language/locallang.xlf b/typo3/sysext/workspaces/Resources/Private/Language/locallang.xlf
index ee336ca5ac1a1ee281525a34fd01d2a69652b13c..fd4763246efe7ec310243c706d4e49dd4758e25c 100644
--- a/typo3/sysext/workspaces/Resources/Private/Language/locallang.xlf
+++ b/typo3/sysext/workspaces/Resources/Private/Language/locallang.xlf
@@ -3,27 +3,6 @@
 	<file source-language="en" datatype="plaintext" original="EXT:workspaces/Resources/Private/Language/locallang.xlf" date="2011-10-17T20:22:37Z" product-name="workspaces">
 		<header/>
 		<body>
-			<trans-unit id="legend.label" resname="legend.label">
-				<source>Legend</source>
-			</trans-unit>
-			<trans-unit id="legend.edited" resname="legend.edited">
-				<source>edited</source>
-			</trans-unit>
-			<trans-unit id="legend.unchanged"  resname="legend.unchanged">
-				<source>unchanged</source>
-			</trans-unit>
-			<trans-unit id="legend.moved" resname="legend.moved">
-				<source>moved</source>
-			</trans-unit>
-			<trans-unit id="legend.deleted" resname="legend.deleted">
-				<source>deleted</source>
-			</trans-unit>
-			<trans-unit id="legend.new" resname="legend.new">
-				<source>created</source>
-			</trans-unit>
-			<trans-unit id="legend.hidden" resname="legend.hidden">
-				<source>hidden</source>
-			</trans-unit>
 			<trans-unit id="title" resname="title">
 				<source>Workspaces</source>
 			</trans-unit>
@@ -158,7 +137,28 @@
 				<source>Path</source>
 			</trans-unit>
 			<trans-unit id="column.wsTitle" resname="column.wsTitle">
-				<source>Changed</source>
+				<source>Title</source>
+			</trans-unit>
+			<trans-unit id="column.wsStateAction" resname="column.wsStateAction">
+				<source>Action</source>
+			</trans-unit>
+			<trans-unit id="column.wsStateAction.deleted" resname="column.wsStateAction.deleted">
+				<source>deleted</source>
+			</trans-unit>
+			<trans-unit id="column.wsStateAction.hidden" resname="column.wsStateAction.hidden">
+				<source>hidden</source>
+			</trans-unit>
+			<trans-unit id="column.wsStateAction.modified" resname="column.wsStateAction.modified">
+				<source>modified</source>
+			</trans-unit>
+			<trans-unit id="column.wsStateAction.moved" resname="column.wsStateAction.moved">
+				<source>moved</source>
+			</trans-unit>
+			<trans-unit id="column.wsStateAction.new" resname="column.wsStateAction.new">
+				<source>created</source>
+			</trans-unit>
+			<trans-unit id="column.wsStateAction.unchanged" resname="column.wsStateAction.unchanged">
+				<source>unchanged</source>
 			</trans-unit>
 			<trans-unit id="column.uid" resname="column.uid">
 				<source>WS ID</source>
@@ -172,9 +172,6 @@
 			<trans-unit id="column.livePath" resname="column.livePath">
 				<source>Live path</source>
 			</trans-unit>
-			<trans-unit id="column.liveTitle" resname="column.liveTitle">
-				<source>Live title</source>
-			</trans-unit>
 			<trans-unit id="column.integrity" resname="column.integrity">
 				<source>Integrity</source>
 			</trans-unit>
@@ -194,7 +191,7 @@
 				<source>Send record to next Stage</source>
 			</trans-unit>
 			<trans-unit id="tooltip.discardVersion" resname="tooltip.discardVersion">
-				<source>Discard workspace version of record.</source>
+				<source>Discard version of record</source>
 			</trans-unit>
 			<trans-unit id="tooltip.expand" resname="tooltip.expand">
 				<source>Expand element and show relations</source>
@@ -203,7 +200,7 @@
 				<source>Show history of workspace version</source>
 			</trans-unit>
 			<trans-unit id="window.discard.title" resname="window.discard.title">
-				<source>Discard workspace version of record.</source>
+				<source>Discard version of record</source>
 			</trans-unit>
 			<trans-unit id="window.discardAll.title" resname="window.discardAll.title">
 				<source>Discard all workspace version of current page.</source>
diff --git a/typo3/sysext/workspaces/Resources/Private/Partials/Legend.html b/typo3/sysext/workspaces/Resources/Private/Partials/Legend.html
deleted file mode 100644
index c48b09dd7d28a40d99ba1caa1d856830e7c82338..0000000000000000000000000000000000000000
--- a/typo3/sysext/workspaces/Resources/Private/Partials/Legend.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html
-    xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
-    data-namespace-typo3-fluid="true"
->
-<h3><f:translate key="LLL:EXT:workspaces/Resources/Private/Language/locallang.xlf:legend.label" /></h3>
-<ul class="workspace-legend">
-    <li><span class="workspace-state-unchanged"><f:translate key="LLL:EXT:workspaces/Resources/Private/Language/locallang.xlf:legend.unchanged" /></span></li>
-    <li><span class="workspace-state-modified"><f:translate key="LLL:EXT:workspaces/Resources/Private/Language/locallang.xlf:legend.edited" /></span></li>
-    <li><span class="workspace-state-moved"><f:translate key="LLL:EXT:workspaces/Resources/Private/Language/locallang.xlf:legend.moved" /></span></li>
-    <li><span class="workspace-state-new"><f:translate key="LLL:EXT:workspaces/Resources/Private/Language/locallang.xlf:legend.new" /></span></li>
-    <li><span  class="workspace-state-hidden"><f:translate key="LLL:EXT:workspaces/Resources/Private/Language/locallang.xlf:legend.hidden" /></span></li>
-    <li><span class="workspace-state-deleted"><f:translate key="LLL:EXT:workspaces/Resources/Private/Language/locallang.xlf:legend.deleted" /></span></li>
-</ul>
-</html>
diff --git a/typo3/sysext/workspaces/Resources/Private/Templates/Review/Index.html b/typo3/sysext/workspaces/Resources/Private/Templates/Review/Index.html
index d8f65421419d9f3fd71b7a0b7dbf653e7e74561d..ef967df4af7038a080a13518daa3ebe877e880a5 100644
--- a/typo3/sysext/workspaces/Resources/Private/Templates/Review/Index.html
+++ b/typo3/sysext/workspaces/Resources/Private/Templates/Review/Index.html
@@ -31,8 +31,6 @@
         </f:if>
     </main>
 
-    <f:if condition="{showLegend}"><f:render partial="legend" /></f:if>
-
 </f:section>
 
 </html>
diff --git a/typo3/sysext/workspaces/Resources/Public/JavaScript/backend.js b/typo3/sysext/workspaces/Resources/Public/JavaScript/backend.js
index 76a409769286efd715db76ce4737d9649443afb6..9631a473c8596ac7c0fa22b881d2fcbd98b5bd63 100644
--- a/typo3/sysext/workspaces/Resources/Public/JavaScript/backend.js
+++ b/typo3/sysext/workspaces/Resources/Public/JavaScript/backend.js
@@ -10,7 +10,7 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-import DocumentService from"@typo3/core/document-service.js";import{html}from"lit";import"@typo3/backend/element/icon-element.js";import{SeverityEnum}from"@typo3/backend/enum/severity.js";import"@typo3/backend/input/clearable.js";import"@typo3/workspaces/renderable/record-table.js";import"@typo3/backend/element/pagination.js";import Workspaces from"@typo3/workspaces/workspaces.js";import{default as Modal}from"@typo3/backend/modal.js";import Persistent from"@typo3/backend/storage/persistent.js";import Utility from"@typo3/backend/utility.js";import windowManager from"@typo3/backend/window-manager.js";import RegularEvent from"@typo3/core/event/regular-event.js";import{topLevelModuleImport}from"@typo3/backend/utility/top-level-module-import.js";import{selector}from"@typo3/core/literals.js";import IconHelper from"@typo3/workspaces/utility/icon-helper.js";import DeferredAction from"@typo3/backend/action-button/deferred-action.js";var Identifiers;!function(e){e.searchForm="#workspace-settings-form",e.searchTextField='#workspace-settings-form input[name="search-text"]',e.searchSubmitBtn='#workspace-settings-form button[type="submit"]',e.depthSelector='#workspace-settings-form [name="depth"]',e.languageSelector='#workspace-settings-form select[name="languages"]',e.stagesSelector='#workspace-settings-form select[name="stages"]',e.workspaceActions=".workspace-actions",e.chooseStageAction='.workspace-actions [name="stage-action"]',e.chooseSelectionAction='.workspace-actions [name="selection-action"]',e.chooseMassAction='.workspace-actions [name="mass-action"]',e.publishAction='[data-action="publish"]',e.prevStageAction='[data-action="prevstage"]',e.nextStageAction='[data-action="nextstage"]',e.changesAction='[data-action="changes"]',e.previewAction='[data-action="preview"]',e.openAction='[data-action="open"]',e.versionAction='[data-action="version"]',e.removeAction='[data-action="remove"]',e.expandAction='[data-action="expand"]',e.workspaceRecipientsSelectAll=".t3js-workspace-recipients-selectall",e.workspaceRecipientsDeselectAll=".t3js-workspace-recipients-deselectall",e.container="#workspace-panel",e.contentsContainer="#workspace-contents",e.noContentsContainer="#workspace-contents-empty",e.previewLinksButton=".t3js-preview-link",e.pagination="#workspace-pagination"}(Identifiers||(Identifiers={}));class Backend extends Workspaces{constructor(){super(),this.settings={dir:"ASC",id:TYPO3.settings.Workspaces.id,depth:1,language:"all",limit:30,query:"",sort:"label_Live",start:0,filterTxt:""},this.paging={currentPage:1,totalPages:1,totalItems:0},this.markedRecordsForMassAction=[],this.handleCheckboxStateChanged=e=>{const t=e.target,n=t.closest("tr"),a=t.checked,s=n.dataset.table+":"+n.dataset.uid+":"+n.dataset.t3ver_oid;if(a)this.markedRecordsForMassAction.push(s);else{const e=this.markedRecordsForMassAction.indexOf(s);e>-1&&this.markedRecordsForMassAction.splice(e,1)}n.dataset.collectionCurrent?Backend.changeCollectionChildrenState(n.dataset.collectionCurrent,a):n.dataset.collection&&(Backend.changeCollectionChildrenState(n.dataset.collection,a),Backend.changeCollectionParentState(n.dataset.collection,a));document.querySelector(Identifiers.chooseMassAction).disabled=this.markedRecordsForMassAction.length>0},this.openIntegrityWarningModal=()=>{const e=Modal.confirm(TYPO3.lang["window.integrity_warning.title"],html`<p>${TYPO3.lang["integrity.hasIssuesDescription"]}<br>${TYPO3.lang["integrity.hasIssuesQuestion"]}</p>`,SeverityEnum.warning);return e.addEventListener("button.clicked",(()=>e.hideModal())),e},topLevelModuleImport("@typo3/workspaces/renderable/send-to-stage-form.js"),topLevelModuleImport("@typo3/workspaces/renderable/record-information.js"),DocumentService.ready().then((()=>{this.registerEvents(),this.notifyWorkspaceSwitchAction(),this.settings.depth=document.querySelector(Identifiers.depthSelector)?.value,this.settings.language=document.querySelector(Identifiers.languageSelector)?.value,this.settings.stage=document.querySelector(Identifiers.stagesSelector)?.value,null!==document.querySelector(Identifiers.container)&&this.getWorkspaceInfos()}))}static refreshPageTree(){top.document.dispatchEvent(new CustomEvent("typo3:pagetree:refresh"))}static changeCollectionParentState(e,t){const n=document.querySelector('tr[data-collection-current="'+e+'"] input[type=checkbox]');null!==n&&n.checked!==t&&(n.checked=t,n.dataset.manuallyChanged="true",n.dispatchEvent(new CustomEvent("multiRecordSelection:checkbox:state:changed",{bubbles:!0,cancelable:!1})))}static changeCollectionChildrenState(e,t){const n=document.querySelectorAll(selector`tr[data-collection="${e}"] input[type=checkbox]`);n.length&&n.forEach((e=>{e.checked!==t&&(e.checked=t,e.dataset.manuallyChanged="true",e.dispatchEvent(new CustomEvent("multiRecordSelection:checkbox:state:changed",{bubbles:!0,cancelable:!1})))}))}notifyWorkspaceSwitchAction(){const e=document.querySelector("main[data-workspace-switch-action]");if(e.dataset.workspaceSwitchAction){const t=JSON.parse(e.dataset.workspaceSwitchAction);top.TYPO3.WorkspacesMenu.performWorkspaceSwitch(t.id,t.title),top.document.dispatchEvent(new CustomEvent("typo3:pagetree:refresh")),top.TYPO3.ModuleMenu.App.refreshMenu()}}checkIntegrity(e){return this.sendRemoteRequest(this.generateRemotePayload("checkIntegrity",e))}registerEvents(){new RegularEvent("click",((e,t)=>{const n=t.closest("tr");this.checkIntegrity({selection:[{liveId:n.dataset.uid,versionId:n.dataset.t3ver_oid,table:n.dataset.table}],type:"selection"}).then((async e=>{"warning"===(await e.resolve())[0].result.result?this.openIntegrityWarningModal().addEventListener("confirm.button.ok",(()=>{this.renderPublishModal(n)})):this.renderPublishModal(n)}))})).delegateTo(document,Identifiers.publishAction),new RegularEvent("click",((e,t)=>{this.sendToStage(t.closest("tr"),"prev")})).delegateTo(document,Identifiers.prevStageAction),new RegularEvent("click",((e,t)=>{this.sendToStage(t.closest("tr"),"next")})).delegateTo(document,Identifiers.nextStageAction),new RegularEvent("click",this.viewChanges.bind(this)).delegateTo(document,Identifiers.changesAction),new RegularEvent("click",this.openPreview.bind(this)).delegateTo(document,Identifiers.previewAction),new RegularEvent("click",((e,t)=>{const n=t.closest("tr"),a=TYPO3.settings.FormEngine.moduleUrl+"&returnUrl="+encodeURIComponent(document.location.href)+"&id="+TYPO3.settings.Workspaces.id+"&edit["+n.dataset.table+"]["+n.dataset.uid+"]=edit";window.location.href=a})).delegateTo(document,Identifiers.openAction),new RegularEvent("click",((e,t)=>{const n=t.closest("tr"),a="pages"===n.dataset.table?n.dataset.t3ver_oid:n.dataset.pid;window.location.href=TYPO3.settings.WebLayout.moduleUrl+"&id="+a})).delegateTo(document,Identifiers.versionAction),new RegularEvent("click",this.confirmDeleteRecordFromWorkspace.bind(this)).delegateTo(document,Identifiers.removeAction),new RegularEvent("click",((e,t)=>{let n;n="true"===t.ariaExpanded?"actions-caret-down":"actions-caret-right",t.replaceChildren(document.createRange().createContextualFragment(IconHelper.getIcon(n)))})).delegateTo(document,Identifiers.expandAction),new RegularEvent("click",(()=>{window.top.document.querySelectorAll(".t3js-workspace-recipient").forEach((e=>{e.disabled||(e.checked=!0)}))})).delegateTo(window.top.document,Identifiers.workspaceRecipientsSelectAll),new RegularEvent("click",(()=>{window.top.document.querySelectorAll(".t3js-workspace-recipient").forEach((e=>{e.disabled||(e.checked=!1)}))})).delegateTo(window.top.document,Identifiers.workspaceRecipientsDeselectAll),new RegularEvent("submit",(e=>{e.preventDefault();const t=document.querySelector(Identifiers.searchTextField);this.settings.filterTxt=t.value,this.getWorkspaceInfos()})).delegateTo(document,Identifiers.searchForm),new RegularEvent("keyup",(e=>{const t=e.target,n=document.querySelector(Identifiers.searchSubmitBtn);""!==t.value?n.classList.remove("disabled"):(n.classList.add("disabled"),this.getWorkspaceInfos())})).delegateTo(document,Identifiers.searchTextField);const e=document.querySelector(Identifiers.searchTextField);null!==e&&e.clearable({onClear:()=>{document.querySelector(Identifiers.searchSubmitBtn).classList.add("disabled"),this.settings.filterTxt="",this.getWorkspaceInfos()}}),new RegularEvent("multiRecordSelection:checkbox:state:changed",this.handleCheckboxStateChanged).bindTo(document),new RegularEvent("change",((e,t)=>{const n=t.value;Persistent.set("moduleData.workspaces_admin.depth",n),this.settings.depth=n,this.getWorkspaceInfos()})).delegateTo(document,Identifiers.depthSelector),new RegularEvent("click",this.generatePreviewLinks.bind(this)).delegateTo(document,Identifiers.previewLinksButton),new RegularEvent("change",((e,t)=>{Persistent.set("moduleData.workspaces_admin.language",t.value),this.settings.language=t.value,this.sendRemoteRequest(this.generateRemotePayload("getWorkspaceInfos",this.settings)).then((async e=>{const n=await e.resolve();t.previousElementSibling.innerHTML=t.querySelector("option:checked").dataset.icon,this.renderWorkspaceInfos(n[0].result)}))})).delegateTo(document,Identifiers.languageSelector),new RegularEvent("change",((e,t)=>{const n=t.value;Persistent.set("moduleData.workspaces_admin.stage",n),this.settings.stage=n,this.getWorkspaceInfos()})).delegateTo(document,Identifiers.stagesSelector),new RegularEvent("change",this.sendToSpecificStageAction.bind(this)).delegateTo(document,Identifiers.chooseStageAction),new RegularEvent("change",this.runSelectionAction.bind(this)).delegateTo(document,Identifiers.chooseSelectionAction),new RegularEvent("change",this.runMassAction.bind(this)).delegateTo(document,Identifiers.chooseMassAction),new RegularEvent("click",(e=>{e.preventDefault();const t=e.target.closest("button");let n=!1;switch(t.dataset.action){case"previous":this.paging.currentPage>1&&(this.paging.currentPage--,n=!0);break;case"next":this.paging.currentPage<this.paging.totalPages&&(this.paging.currentPage++,n=!0);break;case"page":this.paging.currentPage=parseInt(t.dataset.page,10),n=!0;break;default:throw'Unknown action "'+t.dataset.action+'"'}n&&(this.settings.start=parseInt(this.settings.limit.toString(),10)*(this.paging.currentPage-1),this.getWorkspaceInfos())})).delegateTo(document,Identifiers.pagination)}sendToStage(e,t){let n,a,s;if("next"===t)n=e.dataset.nextStage,a="sendToNextStageWindow",s="sendToNextStageExecute";else{if("prev"!==t)throw"Invalid direction given.";n=e.dataset.prevStage,a="sendToPrevStageWindow",s="sendToPrevStageExecute"}this.sendRemoteRequest(this.generateRemoteActionsPayload(a,[e.dataset.uid,e.dataset.table,e.dataset.t3ver_oid])).then((async t=>{const a=this.renderSendToStageWindow(await t.resolve());a.addEventListener("button.clicked",(t=>{if("ok"===t.target.name){const t=Utility.convertFormToObject(a.querySelector("form"));t.affects={table:e.dataset.table,nextStage:n,t3ver_oid:e.dataset.t3ver_oid,uid:e.dataset.uid,elements:[]},this.sendRemoteRequest([this.generateRemoteActionsPayload(s,[t]),this.generateRemotePayload("getWorkspaceInfos",this.settings)]).then((async e=>{const t=await e.resolve();a.hideModal(),this.renderWorkspaceInfos(t[1].result),Backend.refreshPageTree()}))}}))}))}getWorkspaceInfos(){this.sendRemoteRequest(this.generateRemotePayload("getWorkspaceInfos",this.settings)).then((async e=>{this.renderWorkspaceInfos((await e.resolve())[0].result)}))}renderWorkspaceInfos(e){const t=document.querySelector(Identifiers.contentsContainer),n=document.querySelector(Identifiers.noContentsContainer);this.resetMassActionState(e.data.length),this.buildPagination(e.total),0===e.total?(t.style.display="none",n.style.display="block"):(t.style.display="block",n.style.display="none");document.querySelector("typo3-workspaces-record-table").results=e.data}buildPagination(e){const t=document.querySelector(Identifiers.pagination);if(0===e)return void t.replaceChildren();if(this.paging.totalItems=e,this.paging.totalPages=Math.ceil(e/parseInt(this.settings.limit.toString(),10)),1===this.paging.totalPages)return void t.replaceChildren();const n=document.createElement("typo3-backend-pagination");n.paging=this.paging,t.append(n)}viewChanges(e,t){e.preventDefault();const n=t.closest("tr");this.sendRemoteRequest(this.generateRemotePayload("getRowDetails",{stage:parseInt(n.dataset.stage,10),t3ver_oid:parseInt(n.dataset.t3ver_oid,10),table:n.dataset.table,uid:parseInt(n.dataset.uid,10),filterFields:!0})).then((async e=>{const t=(await e.resolve())[0].result.data[0],a=[],s=document.createElement("typo3-workspaces-record-information");s.record=t,s.TYPO3lang=TYPO3.lang,!1!==t.label_PrevStage&&n.dataset.stage!==n.dataset.prevStage&&a.push({text:t.label_PrevStage.title,active:!0,btnClass:"btn-default",name:"prevstage",trigger:(e,t)=>{t.hideModal(),this.sendToStage(n,"prev")}}),!1!==t.label_NextStage&&a.push({text:t.label_NextStage.title,active:!0,btnClass:"btn-default",name:"nextstage",trigger:(e,t)=>{t.hideModal(),this.sendToStage(n,"next")}}),a.push({text:TYPO3.lang.close,active:!0,btnClass:"btn-info",name:"cancel",trigger:(e,t)=>t.hideModal()}),Modal.advanced({type:Modal.types.default,title:TYPO3.lang["window.recordInformation"].replace("{0}",n.querySelector(".t3js-title-live").innerText.trim()),content:s,severity:SeverityEnum.info,buttons:a,size:Modal.sizes.medium})}))}openPreview(e,t){const n=t.closest("tr");this.sendRemoteRequest(this.generateRemoteActionsPayload("viewSingleRecord",[n.dataset.table,n.dataset.uid])).then((async e=>{const t=(await e.resolve())[0].result;windowManager.localOpen(t)}))}confirmDeleteRecordFromWorkspace(e,t){const n=t.closest("tr"),a=Modal.confirm(TYPO3.lang["window.discard.title"],TYPO3.lang["window.discard.message"],SeverityEnum.warning,[{text:TYPO3.lang.cancel,active:!0,btnClass:"btn-default",name:"cancel",trigger:()=>{a.hideModal()}},{text:TYPO3.lang.ok,btnClass:"btn-warning",name:"ok"}]);a.addEventListener("button.clicked",(e=>{"ok"===e.target.name&&this.sendRemoteRequest([this.generateRemoteActionsPayload("deleteSingleRecord",[n.dataset.table,n.dataset.uid])]).then((()=>{a.hideModal(),this.getWorkspaceInfos(),Backend.refreshPageTree()}))}))}runSelectionAction(e,t){const n=t.value,a="discard"!==n;if(0===n.length)return;const s=[];for(let e=0;e<this.markedRecordsForMassAction.length;++e){const t=this.markedRecordsForMassAction[e].split(":");s.push({table:t[0],liveId:t[2],versionId:t[1]})}a?this.checkIntegrity({selection:s,type:"selection"}).then((async e=>{"warning"===(await e.resolve())[0].result.result?this.openIntegrityWarningModal().addEventListener("confirm.button.ok",(()=>{this.renderSelectionActionModal(n,s)})):this.renderSelectionActionModal(n,s)})):this.renderSelectionActionModal(n,s)}renderPublishModal(e){const t=Modal.advanced({title:TYPO3.lang["window.publish.title"],content:TYPO3.lang["window.publish.message"],severity:SeverityEnum.info,staticBackdrop:!0,buttons:[{text:TYPO3.lang.cancel,btnClass:"btn-default",trigger:function(){t.hideModal()}},{text:TYPO3.lang.label_doaction_publish,btnClass:"btn-info",action:new DeferredAction((async()=>{await this.sendRemoteRequest(this.generateRemoteActionsPayload("publishSingleRecord",[e.dataset.table,e.dataset.t3ver_oid,e.dataset.uid])),this.getWorkspaceInfos(),Backend.refreshPageTree()}))}]})}renderSelectionActionModal(e,t){const n=Modal.advanced({title:TYPO3.lang["window.selectionAction.title"],content:html`<p>${TYPO3.lang["tooltip."+e+"Selected"]}</p>`,severity:SeverityEnum.warning,staticBackdrop:!0,buttons:[{text:TYPO3.lang.cancel,btnClass:"btn-default",trigger:function(){n.hideModal()}},{text:TYPO3.lang["label_doaction_"+e],btnClass:"btn-warning",action:new DeferredAction((async()=>{await this.sendRemoteRequest(this.generateRemoteActionsPayload("executeSelectionAction",{action:e,selection:t})),this.markedRecordsForMassAction=[],this.getWorkspaceInfos(),Backend.refreshPageTree()}))}]});n.addEventListener("typo3-modal-hidden",(()=>{document.querySelector(Identifiers.chooseSelectionAction).value=""}))}runMassAction(e,t){const n=t.value,a="discard"!==n;0!==n.length&&(a?this.checkIntegrity({language:this.settings.language,type:n}).then((async e=>{"warning"===(await e.resolve())[0].result.result?this.openIntegrityWarningModal().addEventListener("confirm.button.ok",(()=>{this.renderMassActionModal(n)})):this.renderMassActionModal(n)})):this.renderMassActionModal(n))}renderMassActionModal(e){let t,n;switch(e){case"publish":t="publishWorkspace",n=TYPO3.lang.label_doaction_publish;break;case"discard":t="flushWorkspace",n=TYPO3.lang.label_doaction_discard;break;default:throw"Invalid mass action "+e+" called."}const a=async e=>{const n=(await e.resolve())[0].result;n.processed<n.total?this.sendRemoteRequest(this.generateRemoteMassActionsPayload(t,n)).then(a):(this.getWorkspaceInfos(),Modal.dismiss())},s=Modal.advanced({title:TYPO3.lang["window.massAction.title"],content:html`
+import DocumentService from"@typo3/core/document-service.js";import{html}from"lit";import"@typo3/backend/element/icon-element.js";import{SeverityEnum}from"@typo3/backend/enum/severity.js";import"@typo3/backend/input/clearable.js";import"@typo3/workspaces/renderable/record-table.js";import"@typo3/backend/element/pagination.js";import Workspaces from"@typo3/workspaces/workspaces.js";import{default as Modal}from"@typo3/backend/modal.js";import Persistent from"@typo3/backend/storage/persistent.js";import Utility from"@typo3/backend/utility.js";import windowManager from"@typo3/backend/window-manager.js";import RegularEvent from"@typo3/core/event/regular-event.js";import{topLevelModuleImport}from"@typo3/backend/utility/top-level-module-import.js";import{selector}from"@typo3/core/literals.js";import IconHelper from"@typo3/workspaces/utility/icon-helper.js";import DeferredAction from"@typo3/backend/action-button/deferred-action.js";var Identifiers;!function(e){e.searchForm="#workspace-settings-form",e.searchTextField='#workspace-settings-form input[name="search-text"]',e.searchSubmitBtn='#workspace-settings-form button[type="submit"]',e.depthSelector='#workspace-settings-form [name="depth"]',e.languageSelector='#workspace-settings-form select[name="languages"]',e.stagesSelector='#workspace-settings-form select[name="stages"]',e.workspaceActions=".workspace-actions",e.chooseStageAction='.workspace-actions [name="stage-action"]',e.chooseSelectionAction='.workspace-actions [name="selection-action"]',e.chooseMassAction='.workspace-actions [name="mass-action"]',e.publishAction='[data-action="publish"]',e.prevStageAction='[data-action="prevstage"]',e.nextStageAction='[data-action="nextstage"]',e.changesAction='[data-action="changes"]',e.previewAction='[data-action="preview"]',e.openAction='[data-action="open"]',e.versionAction='[data-action="version"]',e.removeAction='[data-action="remove"]',e.expandAction='[data-action="expand"]',e.workspaceRecipientsSelectAll=".t3js-workspace-recipients-selectall",e.workspaceRecipientsDeselectAll=".t3js-workspace-recipients-deselectall",e.container="#workspace-panel",e.contentsContainer="#workspace-contents",e.noContentsContainer="#workspace-contents-empty",e.previewLinksButton=".t3js-preview-link",e.pagination="#workspace-pagination"}(Identifiers||(Identifiers={}));class Backend extends Workspaces{constructor(){super(),this.settings={dir:"ASC",id:TYPO3.settings.Workspaces.id,depth:1,language:"all",limit:30,query:"",sort:"label_Workspace",start:0,filterTxt:""},this.paging={currentPage:1,totalPages:1,totalItems:0},this.markedRecordsForMassAction=[],this.handleCheckboxStateChanged=e=>{const t=e.target,n=t.closest("tr"),a=t.checked,s=n.dataset.table+":"+n.dataset.uid+":"+n.dataset.t3ver_oid;if(a)this.markedRecordsForMassAction.push(s);else{const e=this.markedRecordsForMassAction.indexOf(s);e>-1&&this.markedRecordsForMassAction.splice(e,1)}n.dataset.collectionCurrent?Backend.changeCollectionChildrenState(n.dataset.collectionCurrent,a):n.dataset.collection&&(Backend.changeCollectionChildrenState(n.dataset.collection,a),Backend.changeCollectionParentState(n.dataset.collection,a));document.querySelector(Identifiers.chooseMassAction).disabled=this.markedRecordsForMassAction.length>0},this.openIntegrityWarningModal=()=>{const e=Modal.confirm(TYPO3.lang["window.integrity_warning.title"],html`<p>${TYPO3.lang["integrity.hasIssuesDescription"]}<br>${TYPO3.lang["integrity.hasIssuesQuestion"]}</p>`,SeverityEnum.warning);return e.addEventListener("button.clicked",(()=>e.hideModal())),e},topLevelModuleImport("@typo3/workspaces/renderable/send-to-stage-form.js"),topLevelModuleImport("@typo3/workspaces/renderable/record-information.js"),DocumentService.ready().then((()=>{this.registerEvents(),this.notifyWorkspaceSwitchAction(),this.settings.depth=document.querySelector(Identifiers.depthSelector)?.value,this.settings.language=document.querySelector(Identifiers.languageSelector)?.value,this.settings.stage=document.querySelector(Identifiers.stagesSelector)?.value,null!==document.querySelector(Identifiers.container)&&this.getWorkspaceInfos()}))}static refreshPageTree(){top.document.dispatchEvent(new CustomEvent("typo3:pagetree:refresh"))}static changeCollectionParentState(e,t){const n=document.querySelector('tr[data-collection-current="'+e+'"] input[type=checkbox]');null!==n&&n.checked!==t&&(n.checked=t,n.dataset.manuallyChanged="true",n.dispatchEvent(new CustomEvent("multiRecordSelection:checkbox:state:changed",{bubbles:!0,cancelable:!1})))}static changeCollectionChildrenState(e,t){const n=document.querySelectorAll(selector`tr[data-collection="${e}"] input[type=checkbox]`);n.length&&n.forEach((e=>{e.checked!==t&&(e.checked=t,e.dataset.manuallyChanged="true",e.dispatchEvent(new CustomEvent("multiRecordSelection:checkbox:state:changed",{bubbles:!0,cancelable:!1})))}))}notifyWorkspaceSwitchAction(){const e=document.querySelector("main[data-workspace-switch-action]");if(e.dataset.workspaceSwitchAction){const t=JSON.parse(e.dataset.workspaceSwitchAction);top.TYPO3.WorkspacesMenu.performWorkspaceSwitch(t.id,t.title),top.document.dispatchEvent(new CustomEvent("typo3:pagetree:refresh")),top.TYPO3.ModuleMenu.App.refreshMenu()}}checkIntegrity(e){return this.sendRemoteRequest(this.generateRemotePayload("checkIntegrity",e))}registerEvents(){new RegularEvent("click",((e,t)=>{const n=t.closest("tr");this.checkIntegrity({selection:[{liveId:n.dataset.uid,versionId:n.dataset.t3ver_oid,table:n.dataset.table}],type:"selection"}).then((async e=>{"warning"===(await e.resolve())[0].result.result?this.openIntegrityWarningModal().addEventListener("confirm.button.ok",(()=>{this.renderPublishModal(n)})):this.renderPublishModal(n)}))})).delegateTo(document,Identifiers.publishAction),new RegularEvent("click",((e,t)=>{this.sendToStage(t.closest("tr"),"prev")})).delegateTo(document,Identifiers.prevStageAction),new RegularEvent("click",((e,t)=>{this.sendToStage(t.closest("tr"),"next")})).delegateTo(document,Identifiers.nextStageAction),new RegularEvent("click",this.viewChanges.bind(this)).delegateTo(document,Identifiers.changesAction),new RegularEvent("click",this.openPreview.bind(this)).delegateTo(document,Identifiers.previewAction),new RegularEvent("click",((e,t)=>{const n=t.closest("tr"),a=TYPO3.settings.FormEngine.moduleUrl+"&returnUrl="+encodeURIComponent(document.location.href)+"&id="+TYPO3.settings.Workspaces.id+"&edit["+n.dataset.table+"]["+n.dataset.uid+"]=edit";window.location.href=a})).delegateTo(document,Identifiers.openAction),new RegularEvent("click",((e,t)=>{const n=t.closest("tr"),a="pages"===n.dataset.table?n.dataset.t3ver_oid:n.dataset.pid;window.location.href=TYPO3.settings.WebLayout.moduleUrl+"&id="+a})).delegateTo(document,Identifiers.versionAction),new RegularEvent("click",this.confirmDeleteRecordFromWorkspace.bind(this)).delegateTo(document,Identifiers.removeAction),new RegularEvent("click",((e,t)=>{let n;n="true"===t.ariaExpanded?"actions-caret-down":"actions-caret-right",t.replaceChildren(document.createRange().createContextualFragment(IconHelper.getIcon(n)))})).delegateTo(document,Identifiers.expandAction),new RegularEvent("click",(()=>{window.top.document.querySelectorAll(".t3js-workspace-recipient").forEach((e=>{e.disabled||(e.checked=!0)}))})).delegateTo(window.top.document,Identifiers.workspaceRecipientsSelectAll),new RegularEvent("click",(()=>{window.top.document.querySelectorAll(".t3js-workspace-recipient").forEach((e=>{e.disabled||(e.checked=!1)}))})).delegateTo(window.top.document,Identifiers.workspaceRecipientsDeselectAll),new RegularEvent("submit",(e=>{e.preventDefault();const t=document.querySelector(Identifiers.searchTextField);this.settings.filterTxt=t.value,this.getWorkspaceInfos()})).delegateTo(document,Identifiers.searchForm),new RegularEvent("keyup",(e=>{const t=e.target,n=document.querySelector(Identifiers.searchSubmitBtn);""!==t.value?n.classList.remove("disabled"):(n.classList.add("disabled"),this.getWorkspaceInfos())})).delegateTo(document,Identifiers.searchTextField);const e=document.querySelector(Identifiers.searchTextField);null!==e&&e.clearable({onClear:()=>{document.querySelector(Identifiers.searchSubmitBtn).classList.add("disabled"),this.settings.filterTxt="",this.getWorkspaceInfos()}}),new RegularEvent("multiRecordSelection:checkbox:state:changed",this.handleCheckboxStateChanged).bindTo(document),new RegularEvent("change",((e,t)=>{const n=t.value;Persistent.set("moduleData.workspaces_admin.depth",n),this.settings.depth=n,this.getWorkspaceInfos()})).delegateTo(document,Identifiers.depthSelector),new RegularEvent("click",this.generatePreviewLinks.bind(this)).delegateTo(document,Identifiers.previewLinksButton),new RegularEvent("change",((e,t)=>{Persistent.set("moduleData.workspaces_admin.language",t.value),this.settings.language=t.value,this.sendRemoteRequest(this.generateRemotePayload("getWorkspaceInfos",this.settings)).then((async e=>{const n=await e.resolve();t.previousElementSibling.innerHTML=t.querySelector("option:checked").dataset.icon,this.renderWorkspaceInfos(n[0].result)}))})).delegateTo(document,Identifiers.languageSelector),new RegularEvent("change",((e,t)=>{const n=t.value;Persistent.set("moduleData.workspaces_admin.stage",n),this.settings.stage=n,this.getWorkspaceInfos()})).delegateTo(document,Identifiers.stagesSelector),new RegularEvent("change",this.sendToSpecificStageAction.bind(this)).delegateTo(document,Identifiers.chooseStageAction),new RegularEvent("change",this.runSelectionAction.bind(this)).delegateTo(document,Identifiers.chooseSelectionAction),new RegularEvent("change",this.runMassAction.bind(this)).delegateTo(document,Identifiers.chooseMassAction),new RegularEvent("click",(e=>{e.preventDefault();const t=e.target.closest("button");let n=!1;switch(t.dataset.action){case"previous":this.paging.currentPage>1&&(this.paging.currentPage--,n=!0);break;case"next":this.paging.currentPage<this.paging.totalPages&&(this.paging.currentPage++,n=!0);break;case"page":this.paging.currentPage=parseInt(t.dataset.page,10),n=!0;break;default:throw'Unknown action "'+t.dataset.action+'"'}n&&(this.settings.start=parseInt(this.settings.limit.toString(),10)*(this.paging.currentPage-1),this.getWorkspaceInfos())})).delegateTo(document,Identifiers.pagination)}sendToStage(e,t){let n,a,s;if("next"===t)n=e.dataset.nextStage,a="sendToNextStageWindow",s="sendToNextStageExecute";else{if("prev"!==t)throw"Invalid direction given.";n=e.dataset.prevStage,a="sendToPrevStageWindow",s="sendToPrevStageExecute"}this.sendRemoteRequest(this.generateRemoteActionsPayload(a,[e.dataset.uid,e.dataset.table,e.dataset.t3ver_oid])).then((async t=>{const a=this.renderSendToStageWindow(await t.resolve());a.addEventListener("button.clicked",(t=>{if("ok"===t.target.name){const t=Utility.convertFormToObject(a.querySelector("form"));t.affects={table:e.dataset.table,nextStage:n,t3ver_oid:e.dataset.t3ver_oid,uid:e.dataset.uid,elements:[]},this.sendRemoteRequest([this.generateRemoteActionsPayload(s,[t]),this.generateRemotePayload("getWorkspaceInfos",this.settings)]).then((async e=>{const t=await e.resolve();a.hideModal(),this.renderWorkspaceInfos(t[1].result),Backend.refreshPageTree()}))}}))}))}getWorkspaceInfos(){this.sendRemoteRequest(this.generateRemotePayload("getWorkspaceInfos",this.settings)).then((async e=>{this.renderWorkspaceInfos((await e.resolve())[0].result)}))}renderWorkspaceInfos(e){const t=document.querySelector(Identifiers.contentsContainer),n=document.querySelector(Identifiers.noContentsContainer);this.resetMassActionState(e.data.length),this.buildPagination(e.total),0===e.total?(t.style.display="none",n.style.display="block"):(t.style.display="block",n.style.display="none");document.querySelector("typo3-workspaces-record-table").results=e.data}buildPagination(e){const t=document.querySelector(Identifiers.pagination);if(0===e)return void t.replaceChildren();if(this.paging.totalItems=e,this.paging.totalPages=Math.ceil(e/parseInt(this.settings.limit.toString(),10)),1===this.paging.totalPages)return void t.replaceChildren();const n=document.createElement("typo3-backend-pagination");n.paging=this.paging,t.append(n)}viewChanges(e,t){e.preventDefault();const n=t.closest("tr");this.sendRemoteRequest(this.generateRemotePayload("getRowDetails",{stage:parseInt(n.dataset.stage,10),t3ver_oid:parseInt(n.dataset.t3ver_oid,10),table:n.dataset.table,uid:parseInt(n.dataset.uid,10),filterFields:!0})).then((async e=>{const t=(await e.resolve())[0].result.data[0],a=[],s=document.createElement("typo3-workspaces-record-information");s.record=t,s.TYPO3lang=TYPO3.lang,!1!==t.label_PrevStage&&n.dataset.stage!==n.dataset.prevStage&&a.push({text:t.label_PrevStage.title,active:!0,btnClass:"btn-default",name:"prevstage",trigger:(e,t)=>{t.hideModal(),this.sendToStage(n,"prev")}}),!1!==t.label_NextStage&&a.push({text:t.label_NextStage.title,active:!0,btnClass:"btn-default",name:"nextstage",trigger:(e,t)=>{t.hideModal(),this.sendToStage(n,"next")}}),a.push({text:TYPO3.lang.close,active:!0,btnClass:"btn-info",name:"cancel",trigger:(e,t)=>t.hideModal()}),Modal.advanced({type:Modal.types.default,title:TYPO3.lang["window.recordInformation"].replace("{0}",n.querySelector(".t3js-title-workspace").innerText.trim()),content:s,severity:SeverityEnum.info,buttons:a,size:Modal.sizes.medium})}))}openPreview(e,t){const n=t.closest("tr");this.sendRemoteRequest(this.generateRemoteActionsPayload("viewSingleRecord",[n.dataset.table,n.dataset.uid])).then((async e=>{const t=(await e.resolve())[0].result;windowManager.localOpen(t)}))}confirmDeleteRecordFromWorkspace(e,t){const n=t.closest("tr"),a=Modal.confirm(TYPO3.lang["window.discard.title"],TYPO3.lang["window.discard.message"],SeverityEnum.warning,[{text:TYPO3.lang.cancel,active:!0,btnClass:"btn-default",name:"cancel",trigger:()=>{a.hideModal()}},{text:TYPO3.lang.ok,btnClass:"btn-warning",name:"ok"}]);a.addEventListener("button.clicked",(e=>{"ok"===e.target.name&&this.sendRemoteRequest([this.generateRemoteActionsPayload("deleteSingleRecord",[n.dataset.table,n.dataset.uid])]).then((()=>{a.hideModal(),this.getWorkspaceInfos(),Backend.refreshPageTree()}))}))}runSelectionAction(e,t){const n=t.value,a="discard"!==n;if(0===n.length)return;const s=[];for(let e=0;e<this.markedRecordsForMassAction.length;++e){const t=this.markedRecordsForMassAction[e].split(":");s.push({table:t[0],liveId:t[2],versionId:t[1]})}a?this.checkIntegrity({selection:s,type:"selection"}).then((async e=>{"warning"===(await e.resolve())[0].result.result?this.openIntegrityWarningModal().addEventListener("confirm.button.ok",(()=>{this.renderSelectionActionModal(n,s)})):this.renderSelectionActionModal(n,s)})):this.renderSelectionActionModal(n,s)}renderPublishModal(e){const t=Modal.advanced({title:TYPO3.lang["window.publish.title"],content:TYPO3.lang["window.publish.message"],severity:SeverityEnum.info,staticBackdrop:!0,buttons:[{text:TYPO3.lang.cancel,btnClass:"btn-default",trigger:function(){t.hideModal()}},{text:TYPO3.lang.label_doaction_publish,btnClass:"btn-info",action:new DeferredAction((async()=>{await this.sendRemoteRequest(this.generateRemoteActionsPayload("publishSingleRecord",[e.dataset.table,e.dataset.t3ver_oid,e.dataset.uid])),this.getWorkspaceInfos(),Backend.refreshPageTree()}))}]})}renderSelectionActionModal(e,t){const n=Modal.advanced({title:TYPO3.lang["window.selectionAction.title"],content:html`<p>${TYPO3.lang["tooltip."+e+"Selected"]}</p>`,severity:SeverityEnum.warning,staticBackdrop:!0,buttons:[{text:TYPO3.lang.cancel,btnClass:"btn-default",trigger:function(){n.hideModal()}},{text:TYPO3.lang["label_doaction_"+e],btnClass:"btn-warning",action:new DeferredAction((async()=>{await this.sendRemoteRequest(this.generateRemoteActionsPayload("executeSelectionAction",{action:e,selection:t})),this.markedRecordsForMassAction=[],this.getWorkspaceInfos(),Backend.refreshPageTree()}))}]});n.addEventListener("typo3-modal-hidden",(()=>{document.querySelector(Identifiers.chooseSelectionAction).value=""}))}runMassAction(e,t){const n=t.value,a="discard"!==n;0!==n.length&&(a?this.checkIntegrity({language:this.settings.language,type:n}).then((async e=>{"warning"===(await e.resolve())[0].result.result?this.openIntegrityWarningModal().addEventListener("confirm.button.ok",(()=>{this.renderMassActionModal(n)})):this.renderMassActionModal(n)})):this.renderMassActionModal(n))}renderMassActionModal(e){let t,n;switch(e){case"publish":t="publishWorkspace",n=TYPO3.lang.label_doaction_publish;break;case"discard":t="flushWorkspace",n=TYPO3.lang.label_doaction_discard;break;default:throw"Invalid mass action "+e+" called."}const a=async e=>{const n=(await e.resolve())[0].result;n.processed<n.total?this.sendRemoteRequest(this.generateRemoteMassActionsPayload(t,n)).then(a):(this.getWorkspaceInfos(),Modal.dismiss())},s=Modal.advanced({title:TYPO3.lang["window.massAction.title"],content:html`
         <p>${TYPO3.lang["tooltip."+e+"All"]}</p>
         <p>${TYPO3.lang["tooltip.affectWholeWorkspace"]}</p>
       `,severity:SeverityEnum.warning,staticBackdrop:!0,buttons:[{text:TYPO3.lang.cancel,btnClass:"btn-default",trigger:function(){s.hideModal()}},{text:n,btnClass:"btn-warning",action:new DeferredAction((async()=>{const e=await this.sendRemoteRequest(this.generateRemoteMassActionsPayload(t,{init:!0,total:0,processed:0,language:this.settings.language}));await a(e)}))}]});s.addEventListener("typo3-modal-hidden",(()=>{document.querySelector(Identifiers.chooseMassAction).value=""}))}sendToSpecificStageAction(e,t){const n=[],a=t.value;for(let e=0;e<this.markedRecordsForMassAction.length;++e){const t=this.markedRecordsForMassAction[e].split(":");n.push({table:t[0],uid:t[1],t3ver_oid:t[2]})}this.sendRemoteRequest(this.generateRemoteActionsPayload("sendToSpecificStageWindow",[a,n])).then((async e=>{const t=this.renderSendToStageWindow(await e.resolve());t.addEventListener("button.clicked",(e=>{if("ok"===e.target.name){const e=Utility.convertFormToObject(t.querySelector("form"));e.affects={elements:n,nextStage:a},this.sendRemoteRequest([this.generateRemoteActionsPayload("sendToSpecificStageExecute",[e]),this.generateRemotePayload("getWorkspaceInfos",this.settings)]).then((async e=>{const n=await e.resolve();t.hideModal(),this.renderWorkspaceInfos(n[1].result),Backend.refreshPageTree()}))}})),t.addEventListener("typo3-modal-hide",(()=>{document.querySelector(Identifiers.chooseStageAction).value=""}))}))}generatePreviewLinks(){this.sendRemoteRequest(this.generateRemoteActionsPayload("generateWorkspacePreviewLinksForAllLanguages",[this.settings.id])).then((async e=>{const t=(await e.resolve())[0].result,n=document.createElement("dl");for(const[e,a]of Object.entries(t)){const t=document.createElement("dt");t.textContent=e;const s=document.createElement("a");s.href=a,s.target="_blank",s.textContent=a;const o=document.createElement("dd");o.appendChild(s),n.append(t,o)}Modal.show(TYPO3.lang.previewLink,n,SeverityEnum.info,[{text:TYPO3.lang.ok,active:!0,btnClass:"btn-info",name:"ok",trigger:(e,t)=>t.hideModal()}],["modal-inner-scroll"])}))}resetMassActionState(e){if(this.markedRecordsForMassAction=[],e){document.querySelector(Identifiers.workspaceActions).classList.remove("hidden");document.querySelector(Identifiers.chooseMassAction).disabled=!1}document.dispatchEvent(new CustomEvent("multiRecordSelection:actions:hide"))}}export default new Backend;
\ No newline at end of file
diff --git a/typo3/sysext/workspaces/Resources/Public/JavaScript/renderable/record-table.js b/typo3/sysext/workspaces/Resources/Public/JavaScript/renderable/record-table.js
index b17a80b2bcd8f5160c5bbd26eb367d01bc3670d5..6b207d8be312931c87375fe586c5664b93e44365 100644
--- a/typo3/sysext/workspaces/Resources/Public/JavaScript/renderable/record-table.js
+++ b/typo3/sysext/workspaces/Resources/Public/JavaScript/renderable/record-table.js
@@ -10,7 +10,7 @@
  *
  * The TYPO3 project - inspiring people to share!
  */
-var __decorate=function(e,t,n,o){var a,i=arguments.length,l=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,o);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(l=(i<3?a(l):i>3?a(t,n,l):a(t,n))||l);return i>3&&l&&Object.defineProperty(t,n,l),l};import{customElement,property}from"lit/decorators.js";import{html,LitElement,nothing}from"lit";import IconHelper from"@typo3/workspaces/utility/icon-helper.js";import{classMap}from"lit/directives/class-map.js";import{ifDefined}from"lit/directives/if-defined.js";import{repeat}from"lit/directives/repeat.js";import"@typo3/backend/element/icon-element.js";let RecordTableElement=class extends LitElement{constructor(){super(...arguments),this.results=[],this.latestPath=null}createRenderRoot(){return this}render(){return html`
+var __decorate=function(e,t,n,a){var o,l=arguments.length,i=l<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,a);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(l<3?o(i):l>3?o(t,n,i):o(t,n))||i);return l>3&&i&&Object.defineProperty(t,n,i),i};import{customElement,property}from"lit/decorators.js";import{html,LitElement,nothing}from"lit";import IconHelper from"@typo3/workspaces/utility/icon-helper.js";import{classMap}from"lit/directives/class-map.js";import{ifDefined}from"lit/directives/if-defined.js";import{repeat}from"lit/directives/repeat.js";import"@typo3/backend/element/icon-element.js";let RecordTableElement=class extends LitElement{constructor(){super(...arguments),this.results=[],this.latestPath=null}createRenderRoot(){return this}render(){return html`
       <div class="table-fit mb-0">
         <table class="table table-striped">
           <thead>
@@ -60,13 +60,15 @@ var __decorate=function(e,t,n,o){var a,i=arguments.length,l=i<3?t:null===o?o=Obj
                 </ul>
               </div>
             </th>
-            <th>${TYPO3.lang["column.wsTitle"]}</th>
-            <th>${TYPO3.lang["column.liveTitle"]}</th>
+            <th class="col-min">${TYPO3.lang["column.wsTitle"]}</th>
+            <th class="col-language">${TYPO3.lang["labels._LOCALIZATION_"]}</th>
+            <th class="col-datetime">${TYPO3.lang["column.lastChangeOn"]}</th>
+            <th class="col-state">${TYPO3.lang["column.wsStateAction"]}</th>
+            <th class="col-state">${TYPO3.lang["column.integrity"]}</th>
             <th>${TYPO3.lang["column.stage"]}</th>
-            <th>${TYPO3.lang["column.lastChangeOn"]}</th>
-            <th>${TYPO3.lang["column.integrity"]}</th>
-            <th><typo3-backend-icon identifier="flags-multiple" size="small"></typo3-backend-icon></th>
-            <th></th>
+            <th class="col-control nowrap">
+              <span class="visually-hidden">${TYPO3.lang["labels._CONTROL_"]}</span>
+            </th>
           </tr>
           </thead>
           <tbody data-multi-record-selection-row-selection="true">
@@ -74,7 +76,7 @@ var __decorate=function(e,t,n,o){var a,i=arguments.length,l=i<3?t:null===o?o=Obj
           </tbody>
         </table>
       </div>
-    `}renderTableRow(e){let t=null,n=!1;return this.latestPath!==e.path_Workspace&&(this.latestPath=e.path_Workspace,n=!0),""!==e.Workspaces_CollectionParent&&(t=this.results.find((t=>t.Workspaces_CollectionCurrent===e.Workspaces_CollectionParent))),html`
+    `}renderTableRow(e){let t=null,n=!1;this.latestPath!==e.path_Workspace&&(this.latestPath=e.path_Workspace,n=!0),""!==e.Workspaces_CollectionParent&&(t=this.results.find((t=>t.Workspaces_CollectionCurrent===e.Workspaces_CollectionParent)));let a,o;switch(e.state_Workspace){case"deleted":a="danger",o=TYPO3.lang["column.wsStateAction.deleted"];break;case"hidden":a="secondary",o=TYPO3.lang["column.wsStateAction.hidden"];break;case"modified":a="warning",o=TYPO3.lang["column.wsStateAction.modified"];break;case"moved":a="primary",o=TYPO3.lang["column.wsStateAction.moved"];break;case"new":a="success",o=TYPO3.lang["column.wsStateAction.new"];break;default:a="secondary",o=TYPO3.lang["column.wsStateAction.unchanged"]}return html`
       ${n?html`
         <tr>
           <th></th>
@@ -104,49 +106,52 @@ var __decorate=function(e,t,n,o){var a,i=arguments.length,l=i<3?t:null===o?o=Obj
             <input type="checkbox" class="form-check-input t3js-multi-record-selection-check"/>
           </span>
         </td>
-        <td class="t3js-title-workspace">
+        <td class="col-min t3js-title-workspace">
           <span class="icon icon-size-small">
-            <typo3-backend-icon identifier=${IconHelper.getIconIdentifier(e.icon_Workspace)} overlay=${IconHelper.getIconIdentifier(e.icon_Workspace_Overlay)} size="small">
+            <typo3-backend-icon identifier=${IconHelper.getIconIdentifier(e.icon_Workspace)} overlay=${IconHelper.getIconIdentifier(e.icon_Workspace_Overlay)} size="small"></typo3-backend-icon>
           </span>
           <a href="#" data-action="changes">
-            <span class="workspace-state-${e.state_Workspace}" title=${e.label_Workspace}>
+            <span title=${e.label_Workspace}>
               ${e.label_Workspace_crop}
             </span>
           </a>
         </td>
-        <td class="t3js-title-live">
-          <span class="icon icon-size-small">
-            <typo3-backend-icon identifier=${IconHelper.getIconIdentifier(e.icon_Live)} overlay=${IconHelper.getIconIdentifier(e.icon_Live_Overlay)} size="small">
-          </span>
-          <span class="workspace-live-title" title=${e.label_Live}>
-            ${e.label_Live_crop}
+        <td class="col-language">
+          <span title="${e.language.title}" class="icon icon-size-small">
+            <typo3-backend-icon identifier=${IconHelper.getIconIdentifier(e.language.icon)} size="small"></typo3-backend-icon>
           </span>
+          ${e.language.title_crop}
         </td>
-        <td>${e.label_Stage}</td>
-        <td>${e.lastChangedFormatted}</td>
-        <td>${""!==e.integrity.messages?html`
-          <span>
-            <typo3-backend-icon identifier=${IconHelper.getIconIdentifier(e.integrity.status)} size="small">
+        <td class="col-datetime">${e.lastChangedFormatted}</td>
+        <td class="col-state">
+          <span class="badge badge-${a}">${o}</span>
+        </td>
+        <td class="col-state">${""!==e.integrity.messages?html`
+          <span title="${e.integrity.messages}" class="icon icon-size-small">
+            <typo3-backend-icon identifier=${IconHelper.getIconIdentifier(e.integrity.status)} size="small"></typo3-backend-icon>
           </span>
         `:nothing}</td>
-        <td><typo3-backend-icon identifier=${IconHelper.getIconIdentifier(e.language.icon)} size="small"></td>
-        <td class="text-end nowrap">${this.renderActions(e)}</td>
+        <td>${e.label_Stage}</td>
+        <td class="col-control nowrap">
+          <div class="btn-group">${this.renderElementActions(e)}</div>
+          <div class="btn-group">${this.renderVersioningActions(e)}</div>
+        </td>
       </tr>
-    `}renderActions(e){const t=e.Workspaces_CollectionChildren>0&&""!==e.Workspaces_CollectionCurrent;return[this.getAction(t,"expand",e.expanded?"actions-caret-down":"actions-caret-right",{title:TYPO3.lang["tooltip.expand"],"data-bs-target":'[data-collection="'+e.Workspaces_CollectionCurrent+'"]',"aria-expanded":!t||e.expanded?"true":"false","data-bs-toggle":"collapse"}),this.getAction(e.hasChanges,"changes","actions-document-info",{title:TYPO3.lang["tooltip.showChanges"]}),this.getAction(e.allowedAction_publish&&""===e.Workspaces_CollectionParent,"publish","actions-version-swap-version",{title:TYPO3.lang["tooltip.publish"]}),this.getAction(e.allowedAction_view,"preview","actions-version-workspace-preview",{title:TYPO3.lang["tooltip.viewElementAction"]}),this.getAction(e.allowedAction_edit,"open","actions-open",{title:TYPO3.lang["tooltip.editElementAction"]}),this.getAction(e.allowedAction_versionPageOpen,"version","actions-version-page-open",{title:TYPO3.lang["tooltip.openPage"]}),this.getAction(e.allowedAction_delete,"remove","actions-version-document-remove",{title:TYPO3.lang["tooltip.discardVersion"]})]}getAction(e,t,n,o){return e?html`
+    `}renderElementActions(e){return[this.getAction(e.allowedAction_view,"preview","actions-version-workspace-preview",{title:TYPO3.lang["tooltip.viewElementAction"]}),this.getAction(e.allowedAction_edit,"open","actions-open",{title:TYPO3.lang["tooltip.editElementAction"]}),this.getAction(e.allowedAction_versionPageOpen,"version","actions-version-page-open",{title:TYPO3.lang["tooltip.openPage"]})]}renderVersioningActions(e){const t=e.Workspaces_CollectionChildren>0&&""!==e.Workspaces_CollectionCurrent;return[this.getAction(t,"expand",e.expanded?"actions-caret-down":"actions-caret-right",{title:TYPO3.lang["tooltip.expand"],"data-bs-target":'[data-collection="'+e.Workspaces_CollectionCurrent+'"]',"aria-expanded":!t||e.expanded?"true":"false","data-bs-toggle":"collapse"}),this.getAction(e.hasChanges,"changes","actions-document-info",{title:TYPO3.lang["tooltip.showChanges"]}),this.getAction(e.allowedAction_publish&&""===e.Workspaces_CollectionParent,"publish","actions-version-swap-version",{title:TYPO3.lang["tooltip.publish"]}),this.getAction(e.allowedAction_delete,"remove","actions-delete",{title:TYPO3.lang["tooltip.discardVersion"]})]}getAction(e,t,n,a){return e?html`
         <button
           class="btn btn-default"
           data-action="${t}"
-          title=${ifDefined(o.title)}
-          data-bs-target=${ifDefined(o["data-bs-target"])}
-          data-bs-toggle=${ifDefined(o["data-bs-toggle"])}
-          aria-expanded=${ifDefined(o["aria-expanded"])}>
-          <typo3-backend-icon identifier=${IconHelper.getIconIdentifier(n)} size="small">
+          title=${ifDefined(a.title)}
+          data-bs-target=${ifDefined(a["data-bs-target"])}
+          data-bs-toggle=${ifDefined(a["data-bs-toggle"])}
+          aria-expanded=${ifDefined(a["aria-expanded"])}>
+          <typo3-backend-icon identifier=${IconHelper.getIconIdentifier(n)} size="small"></typo3-backend-icon>
         </button>
       `:html`<span
       class="btn btn-default disabled"
-      title=${ifDefined(o.title)}
-      data-bs-target=${ifDefined(o["data-bs-target"])}
-      data-bs-toggle=${ifDefined(o["data-bs-toggle"])}
-      aria-expanded=${ifDefined(o["aria-expanded"])}>
-      <typo3-backend-icon identifier=${IconHelper.getIconIdentifier("empty-empty")} size="small">
+      title=${ifDefined(a.title)}
+      data-bs-target=${ifDefined(a["data-bs-target"])}
+      data-bs-toggle=${ifDefined(a["data-bs-toggle"])}
+      aria-expanded=${ifDefined(a["aria-expanded"])}>
+      <typo3-backend-icon identifier=${IconHelper.getIconIdentifier("empty-empty")} size="small"></typo3-backend-icon>
     </span>`}};__decorate([property({type:Array})],RecordTableElement.prototype,"results",void 0),RecordTableElement=__decorate([customElement("typo3-workspaces-record-table")],RecordTableElement);export{RecordTableElement};
\ No newline at end of file