From 9f887846bcccc7edb46c7e23925bacaf39d01b55 Mon Sep 17 00:00:00 2001 From: Engiber Lozada <89547469+engijlr@users.noreply.github.com> Date: Mon, 25 Aug 2025 11:16:32 +0200 Subject: [PATCH] Allow open split view using the keyboard (#19927) * Allow open split view using the keyboard * Add localize method to the label * Add a method to localize terms with a language parameter * adjust localization wording * support segments in label * localize texts --------- Co-authored-by: Mads Rasmussen --- src/Umbraco.Web.UI.Client/src/assets/lang/da.ts | 4 ++++ src/Umbraco.Web.UI.Client/src/assets/lang/en.ts | 4 ++++ src/Umbraco.Web.UI.Client/src/assets/lang/es.ts | 1 + .../workspace-split-view-variant-selector.element.ts | 12 ++++++++---- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/assets/lang/da.ts b/src/Umbraco.Web.UI.Client/src/assets/lang/da.ts index 230a936d86..999d49a324 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/lang/da.ts +++ b/src/Umbraco.Web.UI.Client/src/assets/lang/da.ts @@ -176,6 +176,9 @@ export default { confirmActionConfirm: 'Bekræft', morePublishingOptions: 'Flere publiseringsmuligheder', submitChanges: 'Indsæt', + openInSplitView: 'Åbn i sidestillet visning', + openVersionSelector: 'Åbn udgavevælger', + closeVersionSelector: 'Luk udgavevælger', }, auditTrailsMedia: { delete: 'Medie slettet', @@ -352,6 +355,7 @@ export default { selectAllVariants: 'Vælg alle varianter', scheduledPendingChanges: 'Denne tidsplan har ændringer, der træder i kraft, når du klikker på "%0%".', noVariantsToProcess: 'Der er ingen tilgængelige varianter', + openSplitViewForVariant: (variant: string) => `Åbn ${variant} i sidestillet visning`, }, blueprints: { createBlueprintFrom: "Opret en ny indholdsskabelon fra '%0%'", diff --git a/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts b/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts index 409190e954..d4806a5f1b 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts +++ b/src/Umbraco.Web.UI.Client/src/assets/lang/en.ts @@ -177,6 +177,9 @@ export default { morePublishingOptions: 'More publishing options', submitChanges: 'Submit', viewSystemDetails: 'View Umbraco CMS system information and version number', + openInSplitView: 'Open in split view', + openVersionSelector: 'Open version selector', + closeVersionSelector: 'Close version selector', }, auditTrailsMedia: { delete: 'Media deleted', @@ -353,6 +356,7 @@ export default { saveModalTitle: 'Save', saveAndPublishModalTitle: 'Save and publish', publishModalTitle: 'Publish', + openSplitViewForVariant: (variant: string) => `Open ${variant} in split view`, }, blueprints: { createBlueprintFrom: "Create a new Document Blueprint from '%0%'", diff --git a/src/Umbraco.Web.UI.Client/src/assets/lang/es.ts b/src/Umbraco.Web.UI.Client/src/assets/lang/es.ts index bc6f603820..deee492da0 100644 --- a/src/Umbraco.Web.UI.Client/src/assets/lang/es.ts +++ b/src/Umbraco.Web.UI.Client/src/assets/lang/es.ts @@ -204,6 +204,7 @@ export default { removeTextBox: 'Eliminar caja de texto', contentRoot: 'Raíz de contenido', saveModalTitle: 'Guardar', + openSplitViewForVariant: (variant: string) => `Abrir vista dividida para '${variant}'`, }, blueprints: { createBlueprintFrom: 'Crear nueva Plantilla de Contenido desde %0%', diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-split-view/workspace-split-view-variant-selector.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-split-view/workspace-split-view-variant-selector.element.ts index cc06cf5222..3e2ff19967 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-split-view/workspace-split-view-variant-selector.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-split-view/workspace-split-view-variant-selector.element.ts @@ -324,7 +324,9 @@ export class UmbWorkspaceSplitViewVariantSelectorElement< slot="append" popovertarget="popover" title=${this.#getVariantSpecInfo(this._activeVariant)} - label="Select a variant"> + label=${this._variantSelectorOpen + ? this.localize.term('buttons_closeVersionSelector') + : this.localize.term('buttons_openVersionSelector')}> ${this.#getVariantSpecInfo(this._activeVariant)} ${this.#renderReadOnlyTag(this._activeVariant?.culture)} @@ -488,9 +490,9 @@ export class UmbWorkspaceSplitViewVariantSelectorElement< : html` this.#openSplitView(variant)}> - Open in Split view + ${this.localize.term('buttons_openInSplitView')} `} `; @@ -561,7 +563,9 @@ export class UmbWorkspaceSplitViewVariantSelectorElement< background: none; } - .variant:hover > .split-view { + .variant:hover > .split-view, + .variant:focus > .split-view, + .variant:focus-within > .split-view { display: flex; }