mirror of
https://github.com/discourse/discourse.git
synced 2024-12-24 06:33:53 +08:00
88af23e1ca
This PR modernizes the user fields area of the admin UI. It is largely based on the work on the emoji section.
39 lines
1.0 KiB
JavaScript
39 lines
1.0 KiB
JavaScript
import { tracked } from "@glimmer/tracking";
|
|
import EmberObject from "@ember/object";
|
|
import { i18n } from "discourse/lib/computed";
|
|
import RestModel from "discourse/models/rest";
|
|
|
|
export default class UserField extends RestModel {
|
|
static fieldTypes() {
|
|
if (!this._fieldTypes) {
|
|
this._fieldTypes = [
|
|
UserFieldType.create({ id: "text" }),
|
|
UserFieldType.create({ id: "confirm" }),
|
|
UserFieldType.create({ id: "dropdown", hasOptions: true }),
|
|
UserFieldType.create({ id: "multiselect", hasOptions: true }),
|
|
];
|
|
}
|
|
|
|
return this._fieldTypes;
|
|
}
|
|
|
|
static fieldTypeById(id) {
|
|
return this.fieldTypes().findBy("id", id);
|
|
}
|
|
|
|
@tracked field_type;
|
|
@tracked editable;
|
|
@tracked show_on_profile;
|
|
@tracked show_on_user_card;
|
|
@tracked searchable;
|
|
@tracked requirement;
|
|
|
|
get fieldTypeName() {
|
|
return UserField.fieldTypes().find((ft) => ft.id === this.field_type).name;
|
|
}
|
|
}
|
|
|
|
class UserFieldType extends EmberObject {
|
|
@i18n("id", "admin.user_fields.field_types.%@") name;
|
|
}
|