1
0
Fork 0
discourse-custom-wizard-unl.../assets/javascripts/discourse/templates/components/custom-field-input.hbs
Angus McLeod af3e61fe75
Add custom field improvements (#115)
* Add custom field improvements

This PR does a few things to improve our support of custom fields
1. Adds custom fields added by other plugins to the list in admin/wizards/custom-fields and the custom field list in the mapper selector
2. Adds support for json custom fields in the wizard actions

* Make eslint happy

* Make prettier happy

* Make rubocop happy

* Make ember template lint happy

* Don't assume we have the context in the selector

* Ensure custom fields don't require optional attributes (with tests)
2021-06-08 17:09:49 +05:30

75 Zeilen
1,8 KiB
Handlebars

{{#if showInputs}}
<td>
{{combo-box
value=field.klass
content=klassContent
none="admin.wizard.custom_field.klass.select"
onChange=(action (mut field.klass))}}
</td>
<td>
{{combo-box
value=field.type
content=typeContent
none="admin.wizard.custom_field.type.select"
onChange=(action (mut field.type))}}
</td>
<td class="input">
{{input
value=field.name
placeholder=(i18n "admin.wizard.custom_field.name.select")}}
</td>
<td class="multi-select">
{{multi-select
value=field.serializers
content=serializerContent
none="admin.wizard.custom_field.serializers.select"
onChange=(action (mut field.serializers))}}
</td>
<td class="actions">
{{#if loading}}
{{loading-spinner size="small"}}
{{else}}
{{#if saveIcon}}
{{d-icon saveIcon}}
{{/if}}
{{/if}}
{{d-button
action="destroy"
icon="trash-alt"
class="destroy"
disabled=destroyDisabled}}
{{d-button
icon="save"
action="save"
disabled=saveDisabled
class="save"}}
{{d-button
action="close"
icon="times"
disabled=closeDisabled}}
</td>
{{else}}
<td><label>{{field.klass}}</label></td>
<td><label>{{field.type}}</label></td>
<td class="input"><label>{{field.name}}</label></td>
<td class="multi-select">
{{#if isExternal}}
&mdash;
{{else}}
{{#each field.serializers as |serializer|}}
<label>{{serializer}}</label>
{{/each}}
{{/if}}
</td>
{{#if isExternal}}
<td class="external">
<label title={{i18n "admin.wizard.custom_field.external.title"}}>
{{i18n "admin.wizard.custom_field.external.label"}}
</label>
</td>
{{else}}
<td class="actions">
{{d-button action="edit" icon="pencil-alt"}}
</td>
{{/if}}
{{/if}}