added language routing

This commit is contained in:
Jesper Møller Jensen
2023-01-18 04:59:45 +01:00
parent 1fd42e5894
commit 4e4f4c97d2
3 changed files with 33 additions and 37 deletions

View File

@@ -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`<a href=${'section/settings/language/edit/' + this.value.key}>${this.value.name}</a>`;
}
}
declare global {
interface HTMLElementTagNameMap {
'umb-language-root-table-name-column-layout': UmbLanguageRootTableNameColumnLayoutElement;
}
}

View File

@@ -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<LanguageDetails> = [
{
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<LanguageDetails> = [];
@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<Language>) {
private _createTableItems(languages: Array<LanguageDetails>) {
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`<umb-language-workspace></umb-language-workspace>`;
return html`
<umb-body-layout no-header-background>
<uui-button id="add-language" slot="header" label="Add language" look="outline" color="default"></uui-button>

View File

@@ -22,7 +22,7 @@ class UmbLanguagesData extends UmbData<LanguageDetails> {
export const data: Array<LanguageDetails> = [
{
id: 1,
key: '1234',
key: uuidv4(),
name: 'English',
isoCode: 'en',
isDefault: true,