0
0
Fork 1
Spiegel von https://github.com/paviliondev/discourse-custom-wizard.git synchronisiert 2024-11-25 10:40:28 +01:00
discourse-custom-wizard/assets/javascripts/discourse/components/wizard-custom-action.hbs
2024-11-22 16:45:50 +01:00

1007 Zeilen
Kein EOL
26 KiB
Handlebars

{{#if this.showUndo}}
{{d-button
action=(action "undoChanges")
icon=this.undoIcon
label=this.undoKey
class="undo-changes"
}}
{{/if}}
<div class="setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.type"}}</label>
</div>
<div class="setting-value">
{{wizard-subscription-selector
value=this.action.type
feature="action"
attribute="type"
onChange=(action "changeType")
wizard=this.wizard
options=(hash none="admin.wizard.select_type")
}}
</div>
</div>
<div class="setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.run_after.label"}}</label>
</div>
<div class="setting-value">
{{combo-box
value=this.action.run_after
content=this.runAfterContent
onChange=(action (mut this.action.run_after))
}}
</div>
</div>
{{wizard-message key=this.messageKey url=this.messageUrl component="action"}}
{{#if this.basicTopicFields}}
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.title"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.title
property="title"
onUpdate=(action "mappedFieldUpdated")
options=(hash
wizardFieldSelection=true
userFieldSelection="key,value"
context="action"
)
}}
</div>
</div>
<div class="setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.post"}}</label>
</div>
<div class="setting-value">
{{combo-box
value=this.action.post
content=this.wizardFields
nameProperty="label"
onChange=(action (mut this.action.post))
options=(hash
none="admin.wizard.selector.placeholder.wizard_field"
isDisabled=this.showPostBuilder
)
}}
<div class="setting-gutter">
<Input @type="checkbox" @checked={{this.action.post_builder}} />
<span>{{i18n "admin.wizard.action.post_builder.checkbox"}}</span>
</div>
</div>
</div>
{{#if this.action.post_builder}}
<div class="setting full">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.post_builder.label"}}</label>
</div>
<div class="setting-value editor">
{{wizard-text-editor
value=this.action.post_template
wizardFields=this.wizardFields
}}
</div>
</div>
{{/if}}
{{/if}}
{{#if this.publicTopicFields}}
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_topic.category"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.category
property="category"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection="key,value"
wizardFieldSelection=true
userFieldSelection="key,value"
categorySelection="output"
wizardActionSelection="output"
outputDefaultSelection="category"
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_topic.tags"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.tags
property="tags"
onUpdate=(action "mappedFieldUpdated")
options=(hash
tagSelection="output"
outputDefaultSelection="tag"
listSelection="output"
wizardFieldSelection=true
userFieldSelection="key,value"
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_topic.visible"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.visible
property="visible"
onUpdate=(action "mappedFieldUpdated")
options=(hash
wizardFieldSelection=true userFieldSelection=true context="action"
)
}}
</div>
</div>
{{#if this.hasEventField}}
<div class="setting full">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_topic.add_event"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.add_event
property="add_event"
onUpdate=(action "mappedFieldUpdated")
options=(hash wizardFieldSelection=true context="action")
}}
</div>
</div>
{{/if}}
{{#if this.hasLocationField}}
<div class="setting full">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_topic.add_location"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.add_location
property="add_location"
onUpdate=(action "mappedFieldUpdated")
options=(hash wizardFieldSelection=true context="action")
}}
</div>
</div>
{{/if}}
{{/if}}
{{#if this.sendMessage}}
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.send_message.recipient"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.recipient
property="recipient"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection="value,output"
wizardFieldSelection=true
userFieldSelection="key,value"
groupSelection="key,value"
userSelection="output"
outputDefaultSelection="user"
context="action"
includeMessageableGroups="true"
)
}}
</div>
</div>
{{/if}}
{{#if this.updateProfile}}
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.update_profile.setting"}}</label>
</div>
{{wizard-mapper
inputs=this.action.profile_updates
property="profile_updates"
onUpdate=(action "mappedFieldUpdated")
options=(hash
inputTypes="association"
textSelection="value"
userFieldSelection="key"
wizardFieldSelection="value"
wizardActionSelection="value"
keyDefaultSelection="userField"
context="action"
)
}}
</div>
{{/if}}
{{#if this.sendToApi}}
<div class="setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.send_to_api.api"}}</label>
</div>
<div class="setting-value">
{{combo-box
value=this.action.api
content=this.availableApis
onChange=(action (mut this.action.api))
options=(hash
isDisabled=this.action.custom_title_enabled
none="admin.wizard.action.send_to_api.select_an_api"
)
}}
</div>
</div>
<div class="setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.send_to_api.endpoint"}}</label>
</div>
<div class="setting-value">
{{combo-box
value=this.action.api_endpoint
content=this.availableEndpoints
onChange=(action (mut this.action.api_endpoint))
options=(hash
isDisabled=this.apiEmpty
none="admin.wizard.action.send_to_api.select_an_endpoint"
)
}}
</div>
</div>
<div class="setting full">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.send_to_api.body"}}</label>
</div>
<div class="setting-value">
{{wizard-text-editor
value=this.action.api_body
previewEnabled=false
barEnabled=false
wizardFields=this.wizardFields
placeholder="admin.wizard.action.send_to_api.body_placeholder"
}}
</div>
</div>
{{/if}}
{{#if this.addToGroup}}
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.group"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.group
property="group"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection="value,output"
wizardFieldSelection="key,value,assignment"
userFieldSelection="key,value,assignment"
wizardActionSelection=true
groupSelection="value,output"
outputDefaultSelection="group"
context="action"
)
}}
</div>
</div>
{{/if}}
{{#if this.routeTo}}
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.route_to.url"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.url
property="url"
onUpdate=(action "mappedFieldUpdated")
options=(hash
context="action"
wizardFieldSelection=true
userFieldSelection="key,value"
groupSelection="key,value"
categorySelection="key,value"
userSelection="key,value"
)
}}
</div>
</div>
{{/if}}
{{#if this.watchCategories}}
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.watch_categories.categories"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.categories
property="categories"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection="key,value"
wizardFieldSelection=true
wizardActionSelection=true
userFieldSelection="key,value"
categorySelection="output"
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n
"admin.wizard.action.watch_categories.mute_remainder"
}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.mute_remainder
property="mute_remainder"
onUpdate=(action "mappedFieldUpdated")
options=(hash
context="action"
wizardFieldSelection=true
userFieldSelection="key,value"
)
}}
</div>
</div>
<div class="setting">
<div class="setting-label">
<label>{{i18n
"admin.wizard.action.watch_x.notification_level.label"
}}</label>
</div>
<div class="setting-value">
{{combo-box
value=this.action.notification_level
content=this.availableNotificationLevels
onChange=(action (mut this.action.notification_level))
options=(hash
isDisabled=this.action.custom_title_enabled
none="admin.wizard.action.watch_x.select_a_notification_level"
)
}}
</div>
</div>
<div class="setting full">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.watch_x.wizard_user"}}</label>
</div>
<div class="setting-value">
<Input @type="checkbox" @checked={{this.action.wizard_user}} />
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.watch_x.usernames"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.usernames
property="usernames"
onUpdate=(action "mappedFieldUpdated")
options=(hash
context="action"
wizardFieldSelection=true
userFieldSelection="key,value"
userSelection="output"
)
}}
</div>
</div>
{{/if}}
{{#if this.watchTags}}
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.watch_tags.tags"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.tags
property="tags"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection="key,value"
tagSelection="output"
wizardFieldSelection=true
wizardActionSelection=true
userFieldSelection="key,value"
context="action"
)
}}
</div>
</div>
<div class="setting">
<div class="setting-label">
<label>{{i18n
"admin.wizard.action.watch_x.notification_level.label"
}}</label>
</div>
<div class="setting-value">
{{combo-box
value=this.action.notification_level
content=this.availableNotificationLevels
onChange=(action (mut this.action.notification_level))
options=(hash
isDisabled=this.action.custom_title_enabled
none="admin.wizard.action.watch_x.select_a_notification_level"
)
}}
</div>
</div>
<div class="setting full">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.watch_x.wizard_user"}}</label>
</div>
<div class="setting-value">
<Input @type="checkbox" @checked={{this.action.wizard_user}} />
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.watch_x.usernames"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.usernames
property="usernames"
onUpdate=(action "mappedFieldUpdated")
options=(hash
context="action"
wizardFieldSelection=true
userFieldSelection="key,value"
userSelection="output"
)
}}
</div>
</div>
{{/if}}
{{#if this.createGroup}}
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_group.name"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.name
property="name"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection=true
wizardFieldSelection=true
userFieldSelection=true
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_group.full_name"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.full_name
property="full_name"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection=true
wizardFieldSelection=true
userFieldSelection=true
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_group.title"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.title
property="title"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection=true
wizardFieldSelection=true
userFieldSelection=true
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_group.bio_raw"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.bio_raw
property="bio_raw"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection=true
wizardFieldSelection=true
userFieldSelection=true
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_group.owner_usernames"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.owner_usernames
property="owner_usernames"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection=true
wizardFieldSelection=true
userFieldSelection=true
userSelection="output"
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_group.usernames"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.usernames
property="usernames"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection=true
wizardFieldSelection=true
userFieldSelection=true
userSelection="output"
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n
"admin.wizard.action.create_group.grant_trust_level"
}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.grant_trust_level
property="grant_trust_level"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection=true
wizardFieldSelection=true
userFieldSelection=true
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n
"admin.wizard.action.create_group.mentionable_level"
}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.mentionable_level
property="mentionable_level"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection=true
wizardFieldSelection=true
userFieldSelection=true
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n
"admin.wizard.action.create_group.messageable_level"
}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.messageable_level
property="messageable_level"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection=true
wizardFieldSelection=true
userFieldSelection=true
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n
"admin.wizard.action.create_group.visibility_level"
}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.visibility_level
property="visibility_level"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection=true
wizardFieldSelection=true
userFieldSelection=true
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n
"admin.wizard.action.create_group.members_visibility_level"
}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.members_visibility_level
property="members_visibility_level"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection=true
wizardFieldSelection=true
userFieldSelection=true
context="action"
)
}}
</div>
</div>
{{/if}}
{{#if this.createCategory}}
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_category.name"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.name
property="name"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection="key,value,output"
wizardFieldSelection=true
userFieldSelection="key,value"
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_category.slug"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.slug
property="slug"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection=true
wizardFieldSelection=true
userFieldSelection="key,value"
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_category.color"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.color
property="color"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection=true
wizardFieldSelection=true
userFieldSelection="key,value"
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_category.text_color"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.text_color
property="text_color"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection=true
wizardFieldSelection=true
userFieldSelection="key,value"
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n
"admin.wizard.action.create_category.parent_category"
}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.parent_category_id
property="parent_category_id"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection="key,value"
wizardFieldSelection=true
userFieldSelection="key,value"
categorySelection="output"
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.create_category.permissions"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.permissions
property="permissions"
onUpdate=(action "mappedFieldUpdated")
options=(hash
inputTypes="association"
textSelection=true
wizardFieldSelection=true
wizardActionSelection="key"
userFieldSelection=true
groupSelection="key"
context="action"
)
}}
</div>
</div>
{{/if}}
{{#if this.hasCustomFields}}
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.custom_fields.label"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.custom_fields
property="custom_fields"
onUpdate=(action "mappedFieldUpdated")
options=(hash
inputTypes="association"
customFieldSelection="key"
wizardFieldSelection="value"
wizardActionSelection="value"
userFieldSelection="value"
keyPlaceholder="admin.wizard.action.custom_fields.key"
context=this.customFieldsContext
)
}}
</div>
</div>
{{/if}}
{{#if this.sendMessage}}
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.required"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.required
property="required"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection="value"
wizardFieldSelection=true
userFieldSelection=true
groupSelection=true
context="action"
)
}}
</div>
</div>
{{/if}}
{{#if this.showPostAdvanced}}
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.poster.label"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.poster
property="poster"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection="key,value"
wizardFieldSelection=true
userSelection="output"
outputDefaultSelection="user"
userLimit="1"
context="action"
)
}}
</div>
</div>
<div class="setting full field-mapper-setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.guest_email.label"}}</label>
</div>
<div class="setting-value">
{{wizard-mapper
inputs=this.action.guest_email
property="guest_email"
onUpdate=(action "mappedFieldUpdated")
options=(hash
textSelection="key,value"
wizardFieldSelection=true
outputPlaceholder="admin.wizard.action.guest_email.placeholder"
context="action"
)
}}
</div>
</div>
<div class="setting full">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.skip_redirect.label"}}</label>
</div>
<div class="setting-value">
<Input @type="checkbox" @checked={{this.action.skip_redirect}} />
<span>
{{i18n "admin.wizard.action.skip_redirect.description" type="topic"}}
</span>
</div>
</div>
<div class="setting full">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.suppress_notifications.label"}}</label>
</div>
<div class="setting-value">
<Input @type="checkbox" @checked={{this.action.suppress_notifications}} />
<span>
{{i18n
"admin.wizard.action.suppress_notifications.description"
type="topic"
}}
</span>
</div>
</div>
{{/if}}
{{#if this.routeTo}}
<div class="setting">
<div class="setting-label">
<label>{{i18n "admin.wizard.action.route_to.code"}}</label>
</div>
<div class="setting-value">
<Input @value={{this.action.code}} />
</div>
</div>
{{/if}}