discourse/app/assets/javascripts/admin/addon/lib/template-form-fields.js
Juan David Martínez Cubillos 72f9714ddc
FEATURE: Implement tag group selection in dropdown and multi-select for topic creation and preview when using Form Templates (#32108)
Adds support for a tag-chooser in form templates. It supports single tag
and multi tags. The source of the displayed tags has to be a tag_group
name.

---------

Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
2025-04-17 08:38:03 -05:00

88 lines
3.1 KiB
JavaScript

import { i18n } from "discourse-i18n";
export const templateFormFields = [
{
type: "checkbox",
structure: `- type: checkbox
id: ${i18n("admin.form_templates.field_placeholders.id")}
attributes:
label: "${i18n("admin.form_templates.field_placeholders.label")}"
validations:
# ${i18n("admin.form_templates.field_placeholders.validations")}`,
},
{
type: "input",
structure: `- type: input
id: ${i18n("admin.form_templates.field_placeholders.id")}
attributes:
label: "${i18n("admin.form_templates.field_placeholders.label")}"
placeholder: "${i18n(
"admin.form_templates.field_placeholders.placeholder"
)}"
validations:
# ${i18n("admin.form_templates.field_placeholders.validations")}`,
},
{
type: "textarea",
structure: `- type: textarea
id: ${i18n("admin.form_templates.field_placeholders.id")}
attributes:
label: "${i18n("admin.form_templates.field_placeholders.label")}"
placeholder: "${i18n(
"admin.form_templates.field_placeholders.placeholder"
)}"
validations:
# ${i18n("admin.form_templates.field_placeholders.validations")}`,
},
{
type: "dropdown",
structure: `- type: dropdown
id: ${i18n("admin.form_templates.field_placeholders.id")}
choices:
- "${i18n("admin.form_templates.field_placeholders.choices.first")}"
- "${i18n("admin.form_templates.field_placeholders.choices.second")}"
- "${i18n("admin.form_templates.field_placeholders.choices.third")}"
attributes:
none_label: "${i18n("admin.form_templates.field_placeholders.none_label")}"
label: "${i18n("admin.form_templates.field_placeholders.label")}"
validations:
# ${i18n("admin.form_templates.field_placeholders.validations")}`,
},
{
type: "upload",
structure: `- type: upload
id: ${i18n("admin.form_templates.field_placeholders.id")}
attributes:
file_types: ".jpg, .png, .gif"
allow_multiple: false
label: "${i18n("admin.form_templates.field_placeholders.label")}"
validations:
# ${i18n("admin.form_templates.field_placeholders.validations")}`,
},
{
type: "multiselect",
structure: `- type: multi-select
id: ${i18n("admin.form_templates.field_placeholders.id")}
choices:
- "${i18n("admin.form_templates.field_placeholders.choices.first")}"
- "${i18n("admin.form_templates.field_placeholders.choices.second")}"
- "${i18n("admin.form_templates.field_placeholders.choices.third")}"
attributes:
none_label: "${i18n("admin.form_templates.field_placeholders.none_label")}"
label: "${i18n("admin.form_templates.field_placeholders.label")}"
validations:
# ${i18n("admin.form_templates.field_placeholders.validations")}`,
},
{
type: "tagchooser",
structure: `- type: tag-chooser
id: ${i18n("admin.form_templates.field_placeholders.id")}
tag_group: ""
attributes:
none_label: "${i18n("admin.form_templates.field_placeholders.none_label")}"
label: "${i18n("admin.form_templates.field_placeholders.label")}"
multiple: true
validations:
# ${i18n("admin.form_templates.field_placeholders.validations")}`,
},
];