Browse Source

Extracted ui languages.

pull/604/head
Sebastian 5 years ago
parent
commit
b5ca5546b3
  1. 3
      frontend/app/shared/internal.ts
  2. 21
      frontend/app/shared/state/ui-languages.ts
  3. 5
      frontend/app/shell/pages/internal/profile-menu.component.html
  4. 15
      frontend/app/shell/pages/internal/profile-menu.component.ts

3
frontend/app/shared/internal.ts

@ -47,9 +47,9 @@ export * from './state/clients.forms';
export * from './state/clients.state';
export * from './state/comments.form';
export * from './state/comments.state';
export * from './state/contents.forms';
export * from './state/contents.forms-helpers';
export * from './state/contents.forms.visitors';
export * from './state/contents.forms';
export * from './state/contents.state';
export * from './state/contributors.forms';
export * from './state/contributors.state';
@ -69,6 +69,7 @@ export * from './state/schemas.forms';
export * from './state/schemas.state';
export * from './state/settings';
export * from './state/table-fields';
export * from './state/ui-languages';
export * from './state/ui.state';
export * from './state/workflows.forms';
export * from './state/workflows.state';

21
frontend/app/shared/state/ui-languages.ts

@ -0,0 +1,21 @@
/*
* Squidex Headless CMS
*
* @license
* Copyright (c) Squidex UG (haftungsbeschränkt). All rights reserved.
*/
type UILanguage = { iso2Code: string, localName: string };
export module UILanguages {
export const ALL: ReadonlyArray<UILanguage> = [{
iso2Code: 'en',
localName: 'English'
}, {
iso2Code: 'nl',
localName: 'Nederlands'
}, {
iso2Code: 'it',
localName: 'Italiano'
}];
}

5
frontend/app/shell/pages/internal/profile-menu.component.html

@ -37,8 +37,9 @@
</a>
<div class="dropdown-menu" [class.open]="showSubmenu">
<a class="dropdown-item" *ngFor="let availableLanguage of languages" [class.active]="availableLanguage.code === language" (click)="changeLanguage(availableLanguage.code)">
{{ availableLanguage.name }}
<a class="dropdown-item" *ngFor="let availableLanguage of languages" [class.active]="availableLanguage.iso2Code === language"
(click)="changeLanguage(availableLanguage.iso2Code)">
{{ availableLanguage.localName }}
</a>
</div>
</div>

15
frontend/app/shell/pages/internal/profile-menu.component.ts

@ -6,7 +6,7 @@
*/
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
import { ApiUrlConfig, AuthService, fadeAnimation, ModalModel, StatefulComponent, UIOptions, UIState } from '@app/shared';
import { ApiUrlConfig, AuthService, fadeAnimation, ModalModel, StatefulComponent, UILanguages, UIOptions, UIState } from '@app/shared';
interface State {
// The display name of the user.
@ -22,17 +22,6 @@ interface State {
profileUrl: string;
}
const ALL_LANGUAGES: ReadonlyArray<{ code: string, name: string }> = [{
code: 'en',
name: 'English'
}, {
code: 'nl',
name: 'Nederlands'
}, {
code: 'it',
name: 'Italiano'
}];
@Component({
selector: 'sqx-profile-menu',
styleUrls: ['./profile-menu.component.scss'],
@ -48,7 +37,7 @@ export class ProfileMenuComponent extends StatefulComponent<State> implements On
public showSubmenu = false;
public language = this.uiOptions.get('more.culture');
public languages = ALL_LANGUAGES;
public languages = UILanguages.ALL;
constructor(changeDetector: ChangeDetectorRef, apiUrl: ApiUrlConfig,
public readonly uiState: UIState,

Loading…
Cancel
Save