From 4e4f4c97d260aae0ba00c1abb8c1cd25e41e8adc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jesper=20M=C3=B8ller=20Jensen?=
<26099018+JesmoDev@users.noreply.github.com>
Date: Wed, 18 Jan 2023 04:59:45 +0100
Subject: [PATCH] added language routing
---
...e-root-table-name-column-layout.element.ts | 24 ++++++++++
.../language-root-workspace.element.ts | 44 ++++---------------
.../src/core/mocks/data/languages.data.ts | 2 +-
3 files changed, 33 insertions(+), 37 deletions(-)
create mode 100644 src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/language-root-table-name-column-layout.element.ts
diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/language-root-table-name-column-layout.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/language-root-table-name-column-layout.element.ts
new file mode 100644
index 0000000000..1298434a4a
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/language-root-table-name-column-layout.element.ts
@@ -0,0 +1,24 @@
+import { UUITextStyles } from '@umbraco-ui/uui-css';
+import { css, html, LitElement, nothing } from 'lit';
+import { customElement, property } from 'lit/decorators.js';
+
+@customElement('umb-language-root-table-name-column-layout')
+export class UmbLanguageRootTableNameColumnLayoutElement extends LitElement {
+ static styles = [UUITextStyles, css``];
+
+ @property({ attribute: false })
+ value!: any;
+
+ render() {
+ console.log('this.value', this.value);
+ if (!this.value) return nothing;
+
+ return html`${this.value.name}`;
+ }
+}
+
+declare global {
+ interface HTMLElementTagNameMap {
+ 'umb-language-root-table-name-column-layout': UmbLanguageRootTableNameColumnLayoutElement;
+ }
+}
diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/language-root-workspace.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/language-root-workspace.element.ts
index a85f13da1f..0a956bcaa5 100644
--- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/language-root-workspace.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language-root/language-root-workspace.element.ts
@@ -16,6 +16,7 @@ import { UmbLanguageStore } from '../../language.store';
import '../language/language-workspace.element';
import './language-root-table-delete-column-layout.element';
+import './language-root-table-name-column-layout.element';
@customElement('umb-language-root-workspace')
export class UmbLanguageRootWorkspaceElement extends UmbLitElement {
@@ -39,39 +40,7 @@ export class UmbLanguageRootWorkspaceElement extends UmbLitElement {
];
@state()
- private _languages: Array = [
- {
- id: 1,
- name: 'English',
- isoCode: 'en',
- isDefault: true,
- isMandatory: true,
- },
- {
- id: 2,
- name: 'Danish',
- isoCode: 'da',
- isDefault: false,
- isMandatory: false,
- fallbackLanguageId: 1,
- },
- {
- id: 3,
- name: 'German',
- isoCode: 'de',
- isDefault: false,
- isMandatory: false,
- fallbackLanguageId: 1,
- },
- {
- id: 4,
- name: 'French',
- isoCode: 'fr',
- isDefault: false,
- isMandatory: false,
- fallbackLanguageId: 1,
- },
- ];
+ private _languages: Array = [];
@state()
private _tableConfig: UmbTableConfig = {
@@ -83,6 +52,7 @@ export class UmbLanguageRootWorkspaceElement extends UmbLitElement {
{
name: 'Language',
alias: 'languageName',
+ elementName: 'umb-language-root-table-name-column-layout',
},
{
name: 'ISO Code',
@@ -128,7 +98,7 @@ export class UmbLanguageRootWorkspaceElement extends UmbLitElement {
});
}
- private _createTableItems(languages: Array) {
+ private _createTableItems(languages: Array) {
this._tableItems = languages.map((language) => {
return {
key: language.id?.toString() ?? '',
@@ -136,7 +106,10 @@ export class UmbLanguageRootWorkspaceElement extends UmbLitElement {
data: [
{
columnAlias: 'languageName',
- value: language.name,
+ value: {
+ name: language.name,
+ key: language.key,
+ },
},
{
columnAlias: 'isoCode',
@@ -166,7 +139,6 @@ export class UmbLanguageRootWorkspaceElement extends UmbLitElement {
}
render() {
- // return html``;
return html`
diff --git a/src/Umbraco.Web.UI.Client/src/core/mocks/data/languages.data.ts b/src/Umbraco.Web.UI.Client/src/core/mocks/data/languages.data.ts
index 171c7924b4..698024af09 100644
--- a/src/Umbraco.Web.UI.Client/src/core/mocks/data/languages.data.ts
+++ b/src/Umbraco.Web.UI.Client/src/core/mocks/data/languages.data.ts
@@ -22,7 +22,7 @@ class UmbLanguagesData extends UmbData {
export const data: Array = [
{
id: 1,
- key: '1234',
+ key: uuidv4(),
name: 'English',
isoCode: 'en',
isDefault: true,