feat(i18n): bilingual language + roles selectors in user dialogs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+2
-1
@@ -12,6 +12,7 @@
|
||||
<kendo-formfield>
|
||||
<kendo-label text="Roles *"></kendo-label>
|
||||
<kendo-multiselect formControlName="roles" [data]="roleOptions"
|
||||
textField="label" valueField="value" [valuePrimitive]="true"
|
||||
placeholder="Select roles"></kendo-multiselect>
|
||||
<kendo-formerror>At least one role is required.</kendo-formerror>
|
||||
</kendo-formfield>
|
||||
@@ -19,7 +20,7 @@
|
||||
<kendo-formfield>
|
||||
<kendo-label text="Language"></kendo-label>
|
||||
<kendo-dropdownlist formControlName="languagePreference"
|
||||
[data]="langOptions" textField="text" valueField="value"
|
||||
[data]="langOptions" textField="label" valueField="value"
|
||||
[valuePrimitive]="true">
|
||||
</kendo-dropdownlist>
|
||||
</kendo-formfield>
|
||||
|
||||
+4
-6
@@ -6,7 +6,8 @@ import { InputsModule } from '@progress/kendo-angular-inputs';
|
||||
import { LabelModule } from '@progress/kendo-angular-label';
|
||||
import { DropDownsModule } from '@progress/kendo-angular-dropdowns';
|
||||
import { ButtonsModule } from '@progress/kendo-angular-buttons';
|
||||
import { CreateUserRequest, ALL_ROLES } from '../../models/user.model';
|
||||
import { CreateUserRequest } from '../../models/user.model';
|
||||
import { LANGUAGE_OPTIONS, ROLE_OPTIONS } from '../../../../shared/i18n/option-lists';
|
||||
|
||||
@Component({
|
||||
selector: 'app-create-user-dialog',
|
||||
@@ -22,11 +23,8 @@ export class CreateUserDialogComponent {
|
||||
@Output() cancelled = new EventEmitter<void>();
|
||||
|
||||
form: FormGroup;
|
||||
readonly roleOptions: string[] = [...ALL_ROLES];
|
||||
readonly langOptions = [
|
||||
{ text: 'English', value: 'en' },
|
||||
{ text: '中文', value: 'zh-TW' },
|
||||
];
|
||||
readonly roleOptions = ROLE_OPTIONS;
|
||||
readonly langOptions = LANGUAGE_OPTIONS;
|
||||
|
||||
constructor(private fb: FormBuilder) {
|
||||
this.form = this.fb.group({
|
||||
|
||||
+2
-1
@@ -12,13 +12,14 @@
|
||||
<kendo-formfield>
|
||||
<kendo-label text="Roles *"></kendo-label>
|
||||
<kendo-multiselect formControlName="roles" [data]="roleOptions"
|
||||
textField="label" valueField="value" [valuePrimitive]="true"
|
||||
placeholder="Select roles"></kendo-multiselect>
|
||||
</kendo-formfield>
|
||||
|
||||
<kendo-formfield>
|
||||
<kendo-label text="Language"></kendo-label>
|
||||
<kendo-dropdownlist formControlName="languagePreference"
|
||||
[data]="langOptions" textField="text" valueField="value"
|
||||
[data]="langOptions" textField="label" valueField="value"
|
||||
[valuePrimitive]="true">
|
||||
</kendo-dropdownlist>
|
||||
</kendo-formfield>
|
||||
|
||||
+4
-6
@@ -6,7 +6,8 @@ import { InputsModule } from '@progress/kendo-angular-inputs';
|
||||
import { LabelModule } from '@progress/kendo-angular-label';
|
||||
import { DropDownsModule } from '@progress/kendo-angular-dropdowns';
|
||||
import { ButtonsModule } from '@progress/kendo-angular-buttons';
|
||||
import { UserDto, UpdateUserRequest, ALL_ROLES } from '../../models/user.model';
|
||||
import { UserDto, UpdateUserRequest } from '../../models/user.model';
|
||||
import { LANGUAGE_OPTIONS, ROLE_OPTIONS } from '../../../../shared/i18n/option-lists';
|
||||
|
||||
@Component({
|
||||
selector: 'app-edit-user-dialog',
|
||||
@@ -23,11 +24,8 @@ export class EditUserDialogComponent implements OnInit {
|
||||
@Output() cancelled = new EventEmitter<void>();
|
||||
|
||||
form!: FormGroup;
|
||||
readonly roleOptions: string[] = [...ALL_ROLES];
|
||||
readonly langOptions = [
|
||||
{ text: 'English', value: 'en' },
|
||||
{ text: '中文', value: 'zh-TW' },
|
||||
];
|
||||
readonly roleOptions = ROLE_OPTIONS;
|
||||
readonly langOptions = LANGUAGE_OPTIONS;
|
||||
|
||||
constructor(private fb: FormBuilder) {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user