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 1af4f3d37a..e797d0780b 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 @@ -1,6 +1,14 @@ +import { Language } from '@umbraco-cms/backend-api'; import { UUITextStyles } from '@umbraco-ui/uui-css'; import { css, html, LitElement } from 'lit'; -import { customElement } from 'lit/decorators.js'; +import { customElement, state } from 'lit/decorators.js'; +import { + UmbTableColumn, + UmbTableConfig, + UmbTableElement, + UmbTableItem, + UmbTableSelectedEvent, +} from 'src/backoffice/shared/components/table'; @customElement('umb-language-root-workspace') export class UmbLanguageRootWorkspaceElement extends LitElement { @@ -23,13 +31,88 @@ export class UmbLanguageRootWorkspaceElement extends LitElement { `, ]; + @state() + private _languages: Array = []; + + @state() + private _tableConfig: UmbTableConfig = { + allowSelection: true, + }; + + @state() + private _tableColumns: Array = [ + { + name: 'Language', + alias: 'languageName', + }, + { + name: 'ISO Code', + alias: 'isoCode', + }, + { + name: 'Default language', + alias: 'defaultLanguage', + }, + { + name: 'Mandatory language', + alias: 'mandatoryLanguage', + }, + { + name: 'Fall back language', + alias: 'fallBackLanguage', + }, + ]; + + @state() + private _tableItems: Array = []; + + /** + * + */ + constructor() { + super(); + + this._createTableItems(this._languages); + } + + private _createTableItems(languages: Array) { + this._tableItems = languages.map((language) => { + return { + key: language.id, + icon: 'umb:globe', + data: [ + { + columnAlias: 'languageName', + value: language.name, + }, + { + columnAlias: 'isoCode', + value: language.isoCode, + }, + { + columnAlias: 'defaultLanguage', + value: language.isDefault, + }, + { + columnAlias: 'mandatoryLanguage', + value: language.isMandatory, + }, + { + columnAlias: 'fallBackLanguage', + value: language.fallbackLanguageId, + }, + ], + }; + }); + } + render() { return html` - + `; }