Spiegel von
https://github.com/paviliondev/discourse-custom-wizard.git
synchronisiert 2024-11-16 06:40:29 +01:00
ceef3f4bc9
* Re structure builder logic to allow for step conditionality Concerns - Performance. Look at whether the additional build in the steps controller can be reduced - Does not work if applied to the last step. - Certain conditions will not work with the first step(?) - How should this be scoped to known functionality? * Add indexes and conditions to steps and fields * Complete and add spec * Complete backend * Complete step conditionality and field indexing * Fix failing spec * Update coverage * Apply rubocop * Apply prettier * Apply prettier to wizard js * Fix schema issues created in merge * Remove setting label for force_final * Improve client wizard cache naming * Improve steps controller and spec conditionality * Improve final step attribute naming * Fix failing spec * Linting * Add one more final step test * Linting * Fix eslint issues * Apply prettier * Linting, syntax, merge and copy cleanups * Update wizard-admin.scss * Fix template linting * Rubocop fixes
251 Zeilen
6,3 KiB
Handlebars
251 Zeilen
6,3 KiB
Handlebars
{{#if showUndo}}
|
|
{{d-button
|
|
action="undoChanges"
|
|
icon=undoIcon
|
|
label=undoKey
|
|
class="undo-changes"}}
|
|
{{/if}}
|
|
|
|
<div class="setting">
|
|
<div class="setting-label">
|
|
<label>{{i18n "admin.wizard.field.label"}}</label>
|
|
</div>
|
|
<div class="setting-value">
|
|
{{input name="label" value=field.label}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="setting">
|
|
<div class="setting-label">
|
|
<label>{{i18n "admin.wizard.field.required"}}</label>
|
|
</div>
|
|
|
|
<div class="setting-value">
|
|
<span>{{i18n "admin.wizard.field.required_label"}}</span>
|
|
{{input type="checkbox" checked=field.required}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="setting">
|
|
<div class="setting-label">
|
|
<label>{{i18n "admin.wizard.field.description"}}</label>
|
|
</div>
|
|
<div class="setting-value">
|
|
{{textarea name="description" value=field.description}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="setting">
|
|
<div class="setting-label">
|
|
<label>{{i18n "admin.wizard.field.image"}}</label>
|
|
</div>
|
|
<div class="setting-value">
|
|
{{image-uploader
|
|
imageUrl=field.image
|
|
onUploadDone=(action "imageUploadDone")
|
|
onUploadDeleted=(action "imageUploadDeleted")
|
|
type="wizard-step"
|
|
class="no-repeat contain-image"}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="setting">
|
|
<div class="setting-label">
|
|
<label>{{i18n "admin.wizard.type"}}</label>
|
|
</div>
|
|
|
|
<div class="setting-value">
|
|
{{combo-box
|
|
value=field.type
|
|
content=fieldTypes
|
|
onChange=(action "changeType")
|
|
options=(hash
|
|
none="admin.wizard.select_type"
|
|
)}}
|
|
</div>
|
|
</div>
|
|
|
|
{{wizard-message
|
|
key=messageKey
|
|
url=messageUrl
|
|
component="field"}}
|
|
|
|
{{#if isTextType}}
|
|
<div class="setting">
|
|
<div class="setting-label">
|
|
<label>{{i18n "admin.wizard.field.min_length"}}</label>
|
|
</div>
|
|
|
|
<div class="setting-value">
|
|
{{input
|
|
type="number"
|
|
name="min_length"
|
|
value=field.min_length
|
|
class="small"}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="setting full">
|
|
<div class="setting-label">
|
|
<label>{{i18n "admin.wizard.field.max_length"}}</label>
|
|
</div>
|
|
|
|
<div class="setting-value">
|
|
{{input
|
|
type="number"
|
|
name="max_length"
|
|
value=field.max_length
|
|
class="small"}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="setting">
|
|
<div class="setting-label">
|
|
<label>{{i18n "admin.wizard.field.char_counter"}}</label>
|
|
</div>
|
|
|
|
<div class="setting-value">
|
|
<span>{{i18n "admin.wizard.field.char_counter_placeholder"}}</span>
|
|
{{input
|
|
type="checkbox"
|
|
checked=field.char_counter}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
|
|
{{#if isUpload}}
|
|
<div class="setting">
|
|
<div class="setting-label">
|
|
<label>{{i18n "admin.wizard.field.file_types"}}</label>
|
|
</div>
|
|
|
|
<div class="setting-value">
|
|
{{input value=field.file_types class="medium"}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
|
|
{{#if showLimit}}
|
|
<div class="setting">
|
|
<div class="setting-label">
|
|
<label>{{i18n "admin.wizard.field.limit"}}</label>
|
|
</div>
|
|
|
|
<div class="setting-value">
|
|
{{input type="number" value=field.limit class="small"}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
|
|
{{#if isDateTime}}
|
|
<div class="setting">
|
|
<div class="setting-label">
|
|
<label>{{html-safe (i18n "admin.wizard.field.date_time_format.label")}}</label>
|
|
</div>
|
|
|
|
<div class="setting-value">
|
|
{{input value=field.format class="medium"}}
|
|
<label>{{html-safe (i18n "admin.wizard.field.date_time_format.instructions")}}</label>
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
|
|
{{#if showPrefill}}
|
|
<div class="setting full field-mapper-setting">
|
|
<div class="setting-label">
|
|
<label>{{i18n "admin.wizard.field.prefill"}}</label>
|
|
</div>
|
|
|
|
<div class="setting-value">
|
|
{{wizard-mapper
|
|
inputs=field.prefill
|
|
property="prefill"
|
|
onUpdate=(action "mappedFieldUpdated")
|
|
options=prefillOptions}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
|
|
{{#if showContent}}
|
|
<div class="setting full field-mapper-setting">
|
|
<div class="setting-label">
|
|
<label>{{i18n "admin.wizard.field.content"}}</label>
|
|
</div>
|
|
|
|
<div class="setting-value">
|
|
{{wizard-mapper
|
|
inputs=field.content
|
|
property="content"
|
|
onUpdate=(action "mappedFieldUpdated")
|
|
options=contentOptions}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
|
|
{{#if showAdvanced}}
|
|
{{wizard-advanced-toggle showAdvanced=field.showAdvanced}}
|
|
|
|
{{#if field.showAdvanced}}
|
|
<div class="advanced-settings">
|
|
|
|
<div class="setting full field-mapper-setting">
|
|
<div class="setting-label">
|
|
<label>{{i18n "admin.wizard.condition"}}</label>
|
|
</div>
|
|
|
|
<div class="setting-value">
|
|
{{wizard-mapper
|
|
inputs=field.condition
|
|
options=fieldConditionOptions}}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="setting full field-mapper-setting">
|
|
<div class="setting-label">
|
|
<label>{{i18n "admin.wizard.index"}}</label>
|
|
</div>
|
|
|
|
<div class="setting-value">
|
|
{{wizard-mapper
|
|
inputs=field.index
|
|
options=fieldIndexOptions}}
|
|
</div>
|
|
</div>
|
|
|
|
{{#if isCategory}}
|
|
<div class="setting">
|
|
<div class="setting-label">
|
|
<label>{{i18n "admin.wizard.field.property"}}</label>
|
|
</div>
|
|
|
|
<div class="setting-value">
|
|
{{combo-box
|
|
value=field.property
|
|
content=categoryPropertyTypes
|
|
onChange=(action (mut field.property))
|
|
options=(hash
|
|
none="admin.wizard.selector.placeholder.property"
|
|
)}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
|
|
<div class="setting">
|
|
<div class="setting-label">
|
|
<label>{{i18n "admin.wizard.translation"}}</label>
|
|
</div>
|
|
<div class="setting-value medium">
|
|
{{input
|
|
name="key"
|
|
value=field.key
|
|
class="medium"
|
|
placeholderKey="admin.wizard.translation_placeholder"}}
|
|
</div>
|
|
</div>
|
|
|
|
{{#if validations}}
|
|
{{wizard-realtime-validations field=field validations=validations}}
|
|
{{/if}}
|
|
</div>
|
|
{{/if}}
|
|
{{/if}}
|