diff --git a/app/assets/javascripts/admin/addon/components/schema-setting/field.gjs b/app/assets/javascripts/admin/addon/components/schema-setting/field.gjs index 28bf53e76f7d0..bd389ce6b4423 100644 --- a/app/assets/javascripts/admin/addon/components/schema-setting/field.gjs +++ b/app/assets/javascripts/admin/addon/components/schema-setting/field.gjs @@ -9,6 +9,7 @@ import GroupsField from "admin/components/schema-setting/types/groups"; import IntegerField from "admin/components/schema-setting/types/integer"; import StringField from "admin/components/schema-setting/types/string"; import TagsField from "admin/components/schema-setting/types/tags"; +import UploadField from "admin/components/schema-setting/types/upload"; export default class SchemaSettingField extends Component { get component() { @@ -31,6 +32,8 @@ export default class SchemaSettingField extends Component { return TagsField; case "groups": return GroupsField; + case "upload": + return UploadField; default: throw new Error(`unknown type ${type}`); } diff --git a/app/assets/javascripts/admin/addon/components/schema-setting/types/upload.gjs b/app/assets/javascripts/admin/addon/components/schema-setting/types/upload.gjs new file mode 100644 index 0000000000000..055bdef641620 --- /dev/null +++ b/app/assets/javascripts/admin/addon/components/schema-setting/types/upload.gjs @@ -0,0 +1,41 @@ +import { tracked } from "@glimmer/tracking"; +import { fn } from "@ember/helper"; +import { action } from "@ember/object"; +import { and, not } from "truth-helpers"; +import UppyImageUploader from "discourse/components/uppy-image-uploader"; +import FieldInputDescription from "admin/components/schema-setting/field-input-description"; +import SchemaSettingTypeModels from "admin/components/schema-setting/types/models"; + +export default class SchemaSettingTypeUpload extends SchemaSettingTypeModels { + @tracked value = this.args.value || null; + type = "upload"; + + @action + onChange(upload) { + return upload.id; + } + + +}