Spiegel von
https://github.com/paviliondev/discourse-custom-wizard.git
synchronisiert 2024-11-27 19:30:28 +01:00
Address deprecations
Dieser Commit ist enthalten in:
Ursprung
520dbc6d51
Commit
6d5e7e91ec
186 geänderte Dateien mit 682 neuen und 679 gelöschten Zeilen
|
@ -1,19 +1,19 @@
|
|||
{{#if showInputs}}
|
||||
{{#if this.showInputs}}
|
||||
<td>
|
||||
{{wizard-subscription-selector
|
||||
value=field.klass
|
||||
value=this.field.klass
|
||||
feature="custom_field"
|
||||
attribute="klass"
|
||||
onChange=(action (mut field.klass))
|
||||
onChange=(action (mut this.field.klass))
|
||||
options=(hash none="admin.wizard.custom_field.klass.select")
|
||||
}}
|
||||
</td>
|
||||
<td>
|
||||
{{wizard-subscription-selector
|
||||
value=field.type
|
||||
value=this.field.type
|
||||
feature="custom_field"
|
||||
attribute="type"
|
||||
onChange=(action (mut field.type))
|
||||
onChange=(action (mut this.field.type))
|
||||
options=(hash none="admin.wizard.custom_field.type.select")
|
||||
}}
|
||||
</td>
|
||||
|
@ -25,48 +25,48 @@
|
|||
</td>
|
||||
<td class="multi-select">
|
||||
{{multi-select
|
||||
value=field.serializers
|
||||
content=serializerContent
|
||||
onChange=(action (mut field.serializers))
|
||||
value=this.field.serializers
|
||||
content=this.serializerContent
|
||||
onChange=(action (mut this.field.serializers))
|
||||
options=(hash none="admin.wizard.custom_field.serializers.select")
|
||||
}}
|
||||
</td>
|
||||
<td class="actions">
|
||||
{{#if loading}}
|
||||
{{#if this.loading}}
|
||||
{{loading-spinner size="small"}}
|
||||
{{else}}
|
||||
{{#if saveIcon}}
|
||||
{{d-icon saveIcon}}
|
||||
{{#if this.saveIcon}}
|
||||
{{d-icon this.saveIcon}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{d-button
|
||||
action=(action "destroy")
|
||||
icon="trash-alt"
|
||||
class="destroy"
|
||||
disabled=destroyDisabled
|
||||
disabled=this.destroyDisabled
|
||||
}}
|
||||
{{d-button
|
||||
icon="save"
|
||||
action=(action "save")
|
||||
disabled=saveDisabled
|
||||
disabled=this.saveDisabled
|
||||
class="save"
|
||||
}}
|
||||
{{d-button action=(action "close") icon="times" disabled=closeDisabled}}
|
||||
{{d-button action=(action "close") icon="times" disabled=this.closeDisabled}}
|
||||
</td>
|
||||
{{else}}
|
||||
<td><label>{{field.klass}}</label></td>
|
||||
<td><label>{{field.type}}</label></td>
|
||||
<td class="input"><label>{{field.name}}</label></td>
|
||||
<td><label>{{this.field.klass}}</label></td>
|
||||
<td><label>{{this.field.type}}</label></td>
|
||||
<td class="input"><label>{{this.field.name}}</label></td>
|
||||
<td class="multi-select">
|
||||
{{#if isExternal}}
|
||||
{{#if this.isExternal}}
|
||||
—
|
||||
{{else}}
|
||||
{{#each field.serializers as |serializer|}}
|
||||
{{#each this.field.serializers as |serializer|}}
|
||||
<label>{{serializer}}</label>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
</td>
|
||||
{{#if isExternal}}
|
||||
{{#if this.isExternal}}
|
||||
<td class="external">
|
||||
<label title={{i18n "admin.wizard.custom_field.external.title"}}>
|
||||
{{i18n "admin.wizard.custom_field.external.label"}}
|
|
@ -1,21 +1,21 @@
|
|||
<div class={{this.fieldClass}}>
|
||||
<DEditor
|
||||
@tabindex={{field.tabindex}}
|
||||
@value={{composer.reply}}
|
||||
@placeholderOverride={{replyPlaceholder}}
|
||||
@tabindex={{this.field.tabindex}}
|
||||
@value={{this.composer.reply}}
|
||||
@placeholderOverride={{this.replyPlaceholder}}
|
||||
@previewUpdated={{this.previewUpdated}}
|
||||
@markdownOptions={{markdownOptions}}
|
||||
@markdownOptions={{this.markdownOptions}}
|
||||
@extraButtons={{this.extraButtons}}
|
||||
@importQuote={{this.importQuote}}
|
||||
@showUploadModal={{this.showUploadModal}}
|
||||
@togglePreview={{this.togglePreview}}
|
||||
@validation={{validation}}
|
||||
@loading={{composer.loading}}
|
||||
@showLink={{showLink}}
|
||||
@validation={{this.validation}}
|
||||
@loading={{this.composer.loading}}
|
||||
@showLink={{this.showLink}}
|
||||
@wizardComposer={{true}}
|
||||
@fieldId={{field.id}}
|
||||
@disabled={{disableTextarea}}
|
||||
@outletArgs={{hash composer=composer editorType="composer"}}
|
||||
@fieldId={{this.field.id}}
|
||||
@disabled={{this.disableTextarea}}
|
||||
@outletArgs={{hash composer=this.composer editorType="composer"}}
|
||||
/>
|
||||
|
||||
<input
|
|
@ -0,0 +1,30 @@
|
|||
{{#unless this.timeFirst}}
|
||||
{{custom-wizard-date-input
|
||||
date=this.date
|
||||
relativeDate=this.relativeDate
|
||||
onChange=(action "onChangeDate")
|
||||
tabindex=this.dateTabindex
|
||||
}}
|
||||
{{/unless}}
|
||||
|
||||
{{#if this.showTime}}
|
||||
{{custom-wizard-time-input
|
||||
date=this.date
|
||||
relativeDate=this.relativeDate
|
||||
onChange=(action "onChangeTime")
|
||||
tabindex=this.timeTabindex
|
||||
}}
|
||||
{{/if}}
|
||||
|
||||
{{#if this.timeFirst}}
|
||||
{{custom-wizard-date-input
|
||||
date=this.date
|
||||
relativeDate=this.relativeDate
|
||||
onChange=(action "onChangeDate")
|
||||
tabindex=this.dateTabindex
|
||||
}}
|
||||
{{/if}}
|
||||
|
||||
{{#if this.clearable}}
|
||||
{{d-button class="clear-date-time" icon="times" action=(action "onClear")}}
|
||||
{{/if}}
|
|
@ -1,23 +1,23 @@
|
|||
<div class="d-editor-overlay hidden"></div>
|
||||
|
||||
<div class="d-editor-container">
|
||||
{{#if showPreview}}
|
||||
<div class="d-editor-preview-wrapper {{if forcePreview 'force-preview'}}">
|
||||
{{#if this.showPreview}}
|
||||
<div class="d-editor-preview-wrapper {{if this.forcePreview 'force-preview'}}">
|
||||
<div class="d-editor-preview">
|
||||
{{html-safe preview}}
|
||||
{{html-safe this.preview}}
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="d-editor-textarea-wrapper">
|
||||
<div class="d-editor-button-bar">
|
||||
{{#each toolbar.groups as |group|}}
|
||||
{{#each this.toolbar.groups as |group|}}
|
||||
{{#each group.buttons as |b|}}
|
||||
{{#if b.popupMenu}}
|
||||
{{toolbar-popup-menu-options
|
||||
onPopupMenuAction=onPopupMenuAction
|
||||
onPopupMenuAction=this.onPopupMenuAction
|
||||
onExpand=(action b.action b)
|
||||
class=b.className
|
||||
content=popupMenuOptions
|
||||
content=this.popupMenuOptions
|
||||
options=(hash popupTitle=b.title icon=b.icon)
|
||||
}}
|
||||
{{else}}
|
||||
|
@ -42,7 +42,7 @@
|
|||
{{/each}}
|
||||
</div>
|
||||
|
||||
{{conditional-loading-spinner condition=loading}}
|
||||
{{conditional-loading-spinner condition=this.loading}}
|
||||
<Textarea
|
||||
tabindex={{this.tabindex}}
|
||||
@value={{this.value}}
|
|
@ -0,0 +1,8 @@
|
|||
{{custom-wizard-category-selector
|
||||
categories=this.categories
|
||||
class=this.fieldClass
|
||||
whitelist=this.field.content
|
||||
onChange=(action (mut this.categories))
|
||||
tabindex=this.field.tabindex
|
||||
options=(hash maximum=this.field.limit)
|
||||
}}
|
|
@ -1,5 +1,5 @@
|
|||
<div class="wizard-composer-preview d-editor-preview-wrapper">
|
||||
<div class="d-editor-preview">
|
||||
{{html-safe field.preview_template}}
|
||||
{{html-safe this.field.preview_template}}
|
||||
</div>
|
||||
</div>
|
|
@ -14,10 +14,10 @@
|
|||
<DButton
|
||||
@action={{this.togglePreview}}
|
||||
class="wizard-btn toggle-preview"
|
||||
@label={{togglePreviewLabel}}
|
||||
@label={{this.togglePreviewLabel}}
|
||||
/>
|
||||
|
||||
{{#if this.field.char_counter}}
|
||||
{{wizard-char-counter this.field.value field.max_length}}
|
||||
{{wizard-char-counter this.field.value this.field.max_length}}
|
||||
{{/if}}
|
||||
</div>
|
|
@ -1,5 +1,5 @@
|
|||
{{custom-wizard-date-time-input
|
||||
date=dateTime
|
||||
date=this.dateTime
|
||||
onChange=(action "onChange")
|
||||
tabindex=field.tabindex
|
||||
tabindex=this.field.tabindex
|
||||
}}
|
|
@ -0,0 +1,6 @@
|
|||
{{custom-wizard-date-input
|
||||
date=this.date
|
||||
onChange=(action "onChange")
|
||||
tabindex=this.field.tabindex
|
||||
format=this.field.format
|
||||
}}
|
|
@ -0,0 +1,8 @@
|
|||
{{combo-box
|
||||
class=this.fieldClass
|
||||
value=this.field.value
|
||||
content=this.field.content
|
||||
tabindex=this.field.tabindex
|
||||
onChange=(action "onChangeValue")
|
||||
options=(hash none="select_kit.default_header_text")
|
||||
}}
|
|
@ -0,0 +1,10 @@
|
|||
{{custom-wizard-group-selector
|
||||
groups=this.site.groups
|
||||
class=this.fieldClass
|
||||
field=this.field
|
||||
whitelist=this.field.content
|
||||
value=this.field.value
|
||||
tabindex=this.field.tabindex
|
||||
onChange=(action (mut this.field.value))
|
||||
options=(hash none="select_kit.default_header_text")
|
||||
}}
|
|
@ -0,0 +1,8 @@
|
|||
{{custom-wizard-tag-chooser
|
||||
tags=this.field.value
|
||||
class=this.fieldClass
|
||||
tabindex=this.field.tabindex
|
||||
tagGroups=this.field.tag_groups
|
||||
everyTag=true
|
||||
options=(hash maximum=this.field.limit allowAny=this.field.can_create_tag)
|
||||
}}
|
|
@ -1,5 +1,5 @@
|
|||
{{custom-wizard-time-input
|
||||
date=time
|
||||
date=this.time
|
||||
onChange=(action "onChange")
|
||||
tabindex=field.tabindex
|
||||
tabindex=this.field.tabindex
|
||||
}}
|
|
@ -0,0 +1,6 @@
|
|||
{{custom-wizard-topic-selector
|
||||
topics=this.topics
|
||||
category=this.field.category
|
||||
onChange=(action "setValue")
|
||||
options=(hash maximum=this.field.limit)
|
||||
}}
|
|
@ -0,0 +1,5 @@
|
|||
{{custom-user-selector
|
||||
usernames=this.field.value
|
||||
placeholderKey=this.field.placeholder
|
||||
tabindex=this.field.tabindex
|
||||
}}
|
38
assets/javascripts/discourse/components/custom-wizard-field.hbs
Normale Datei
38
assets/javascripts/discourse/components/custom-wizard-field.hbs
Normale Datei
|
@ -0,0 +1,38 @@
|
|||
<label for={{this.field.id}} class="field-label">
|
||||
{{html-safe this.field.translatedLabel}}
|
||||
</label>
|
||||
|
||||
{{#if this.field.image}}
|
||||
<div class="field-image"><img src={{this.field.image}} /></div>
|
||||
{{/if}}
|
||||
|
||||
{{#if this.field.description}}
|
||||
<div class="field-description">{{this.cookedDescription}}</div>
|
||||
{{/if}}
|
||||
|
||||
{{#field-validators field=this.field as |validators|}}
|
||||
{{#if this.inputComponentName}}
|
||||
<div class="input-area">
|
||||
{{component
|
||||
this.inputComponentName
|
||||
field=this.field
|
||||
step=this.step
|
||||
fieldClass=this.fieldClass
|
||||
wizard=this.wizard
|
||||
autocomplete=validators.autocomplete
|
||||
}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/field-validators}}
|
||||
|
||||
{{#if this.field.char_counter}}
|
||||
{{#if this.textType}}
|
||||
{{wizard-char-counter this.field.value this.field.max_length}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if this.field.errorDescription}}
|
||||
<div class="field-error-description">{{html-safe
|
||||
this.field.errorDescription
|
||||
}}</div>
|
||||
{{/if}}
|
|
@ -1,9 +1,9 @@
|
|||
<div>{{text}}</div>
|
||||
<div>{{this.text}}</div>
|
||||
<div class="no-access-gutter">
|
||||
<a class="return-to-site" {{action "skip"}} role="button">
|
||||
{{i18n "wizard.return_to_site" siteName=siteName}}
|
||||
{{i18n "wizard.return_to_site" siteName=this.siteName}}
|
||||
</a>
|
||||
{{#if showLoginButton}}
|
||||
{{#if this.showLoginButton}}
|
||||
<DButton
|
||||
class="btn-primary btn-small login-button"
|
||||
@action={{action "showLogin"}}
|
|
@ -0,0 +1,6 @@
|
|||
<a href={{this.topic.url}} target="_blank" rel="noopener noreferrer">
|
||||
<span class="title">{{html-safe this.topic.fancy_title}}</span>
|
||||
<div class="blurb"><RelativeDate @date={{@topic.created_at}} />
|
||||
-
|
||||
{{html-safe this.topic.blurb}}</div>
|
||||
</a>
|
|
@ -1,6 +1,6 @@
|
|||
{{#if showTopics}}
|
||||
{{#if this.showTopics}}
|
||||
<ul>
|
||||
{{#each topics as |topic|}}
|
||||
{{#each this.topics as |topic|}}
|
||||
<li>{{custom-wizard-similar-topic topic=topic}}</li>
|
||||
{{/each}}
|
||||
</ul>
|
|
@ -1,21 +1,21 @@
|
|||
<div class="wizard-step-contents">
|
||||
{{#if step.title}}
|
||||
<h1 class="wizard-step-title">{{cookedTitle}}</h1>
|
||||
{{#if this.step.title}}
|
||||
<h1 class="wizard-step-title">{{this.cookedTitle}}</h1>
|
||||
{{/if}}
|
||||
|
||||
{{#if bannerImage}}
|
||||
{{#if this.bannerImage}}
|
||||
<div class="wizard-step-banner">
|
||||
<img src={{bannerImage}} />
|
||||
<img src={{this.bannerImage}} />
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if step.description}}
|
||||
<div class="wizard-step-description">{{cookedDescription}}</div>
|
||||
{{#if this.step.description}}
|
||||
<div class="wizard-step-description">{{this.cookedDescription}}</div>
|
||||
{{/if}}
|
||||
|
||||
{{#custom-wizard-step-form step=step}}
|
||||
{{#each step.fields as |field|}}
|
||||
{{custom-wizard-field field=field step=step wizard=wizard}}
|
||||
{{#custom-wizard-step-form step=this.step}}
|
||||
{{#each this.step.fields as |field|}}
|
||||
{{custom-wizard-field field=field step=this.step wizard=this.wizard}}
|
||||
{{/each}}
|
||||
{{/custom-wizard-step-form}}
|
||||
</div>
|
||||
|
@ -24,57 +24,57 @@
|
|||
|
||||
<div class="wizard-progress">
|
||||
<div class="white"></div>
|
||||
<div class="black" style={{barStyle}}></div>
|
||||
<div class="black" style={{this.barStyle}}></div>
|
||||
<div class="screen"></div>
|
||||
<span>{{i18n
|
||||
"wizard.step"
|
||||
current=step.displayIndex
|
||||
total=wizard.totalSteps
|
||||
current=this.step.displayIndex
|
||||
total=this.wizard.totalSteps
|
||||
}}</span>
|
||||
</div>
|
||||
|
||||
<div class="wizard-buttons">
|
||||
{{#if saving}}
|
||||
{{#if this.saving}}
|
||||
{{loading-spinner size="small"}}
|
||||
{{else}}
|
||||
{{#if showQuitButton}}
|
||||
{{#if this.showQuitButton}}
|
||||
<a
|
||||
href
|
||||
{{action "quit"}}
|
||||
class="action-link quit"
|
||||
tabindex={{secondaryButtonIndex}}
|
||||
tabindex={{this.secondaryButtonIndex}}
|
||||
>{{i18n "wizard.quit"}}</a>
|
||||
{{/if}}
|
||||
{{#if showBackButton}}
|
||||
{{#if this.showBackButton}}
|
||||
<a
|
||||
href
|
||||
{{action "backStep"}}
|
||||
class="action-link back"
|
||||
tabindex={{secondaryButtonIndex}}
|
||||
tabindex={{this.secondaryButtonIndex}}
|
||||
>{{i18n "wizard.back"}}</a>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if showNextButton}}
|
||||
{{#if this.showNextButton}}
|
||||
<button
|
||||
type="button"
|
||||
class="wizard-btn next primary"
|
||||
{{action "nextStep"}}
|
||||
disabled={{btnsDisabled}}
|
||||
tabindex={{primaryButtonIndex}}
|
||||
disabled={{this.btnsDisabled}}
|
||||
tabindex={{this.primaryButtonIndex}}
|
||||
>
|
||||
{{i18n "wizard.next"}}
|
||||
{{d-icon "chevron-right"}}
|
||||
</button>
|
||||
{{/if}}
|
||||
|
||||
{{#if showDoneButton}}
|
||||
{{#if this.showDoneButton}}
|
||||
<button
|
||||
type="button"
|
||||
class="wizard-btn done"
|
||||
{{action "done"}}
|
||||
disabled={{btnsDisabled}}
|
||||
tabindex={{primaryButtonIndex}}
|
||||
disabled={{this.btnsDisabled}}
|
||||
tabindex={{this.primaryButtonIndex}}
|
||||
>
|
||||
{{i18n "wizard.done_custom"}}
|
||||
</button>
|
|
@ -1,7 +1,7 @@
|
|||
{{combo-box
|
||||
value=time
|
||||
content=timeOptions
|
||||
tabindex=tabindex
|
||||
value=this.time
|
||||
content=this.timeOptions
|
||||
tabindex=this.tabindex
|
||||
onChange=(action "onChangeTime")
|
||||
options=(hash
|
||||
translatedNone="--:--"
|
|
@ -1,8 +1,8 @@
|
|||
{{#if field.validations}}
|
||||
{{#each-in field.validations.above as |type validation|}}
|
||||
{{#if this.field.validations}}
|
||||
{{#each-in this.field.validations.above as |type validation|}}
|
||||
{{component
|
||||
validation.component
|
||||
field=field
|
||||
field=this.field
|
||||
type=type
|
||||
validation=validation
|
||||
}}
|
||||
|
@ -10,10 +10,10 @@
|
|||
|
||||
{{yield (hash perform=(action "perform") autocomplete="off")}}
|
||||
|
||||
{{#each-in field.validations.below as |type validation|}}
|
||||
{{#each-in this.field.validations.below as |type validation|}}
|
||||
{{component
|
||||
validation.component
|
||||
field=field
|
||||
field=this.field
|
||||
type=type
|
||||
validation=validation
|
||||
}}
|
|
@ -1,5 +1,5 @@
|
|||
<DModal @closeModal={{@closeModal}} @title={{this.title}}>
|
||||
{{#if loading}}
|
||||
{{#if this.loading}}
|
||||
<LoadingSpinner size="large" />
|
||||
{{else}}
|
||||
<div class="edit-directory-columns-container">
|
||||
|
|
13
assets/javascripts/discourse/components/similar-topics-validator.hbs
Normale Datei
13
assets/javascripts/discourse/components/similar-topics-validator.hbs
Normale Datei
|
@ -0,0 +1,13 @@
|
|||
<label class={{this.currentStateClass}}>
|
||||
{{#if this.currentState}}
|
||||
{{#if this.insufficientCharactersCategories}}
|
||||
{{html-safe (i18n this.currentStateKey catLinks=this.catLinks)}}
|
||||
{{else}}
|
||||
{{i18n this.currentStateKey}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</label>
|
||||
|
||||
{{#if this.showSimilarTopics}}
|
||||
{{custom-wizard-similar-topics topics=this.similarTopics}}
|
||||
{{/if}}
|
5
assets/javascripts/discourse/components/validator.hbs
Normale Datei
5
assets/javascripts/discourse/components/validator.hbs
Normale Datei
|
@ -0,0 +1,5 @@
|
|||
{{#if this.isValid}}
|
||||
{{i18n this.validMessageKey}}
|
||||
{{else}}
|
||||
{{i18n this.invalidMessageKey}}
|
||||
{{/if}}
|
|
@ -1,8 +1,8 @@
|
|||
{{#if showUndo}}
|
||||
{{#if this.showUndo}}
|
||||
{{d-button
|
||||
action=(action "undoChanges")
|
||||
icon=undoIcon
|
||||
label=undoKey
|
||||
icon=this.undoIcon
|
||||
label=this.undoKey
|
||||
class="undo-changes"
|
||||
}}
|
||||
{{/if}}
|
||||
|
@ -18,7 +18,7 @@
|
|||
feature="action"
|
||||
attribute="type"
|
||||
onChange=(action "changeType")
|
||||
wizard=wizard
|
||||
wizard=this.wizard
|
||||
options=(hash none="admin.wizard.select_type")
|
||||
}}
|
||||
</div>
|
||||
|
@ -32,15 +32,15 @@
|
|||
<div class="setting-value">
|
||||
{{combo-box
|
||||
value=this.action.run_after
|
||||
content=runAfterContent
|
||||
content=this.runAfterContent
|
||||
onChange=(action (mut this.action.run_after))
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{wizard-message key=messageKey url=messageUrl component="action"}}
|
||||
{{wizard-message key=this.messageKey url=this.messageUrl component="action"}}
|
||||
|
||||
{{#if basicTopicFields}}
|
||||
{{#if this.basicTopicFields}}
|
||||
<div class="setting full field-mapper-setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.action.title"}}</label>
|
||||
|
@ -68,12 +68,12 @@
|
|||
<div class="setting-value">
|
||||
{{combo-box
|
||||
value=this.action.post
|
||||
content=wizardFields
|
||||
content=this.wizardFields
|
||||
nameProperty="label"
|
||||
onChange=(action (mut this.action.post))
|
||||
options=(hash
|
||||
none="admin.wizard.selector.placeholder.wizard_field"
|
||||
isDisabled=showPostBuilder
|
||||
isDisabled=this.showPostBuilder
|
||||
)
|
||||
}}
|
||||
|
||||
|
@ -93,14 +93,14 @@
|
|||
<div class="setting-value editor">
|
||||
{{wizard-text-editor
|
||||
value=this.action.post_template
|
||||
wizardFields=wizardFields
|
||||
wizardFields=this.wizardFields
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if publicTopicFields}}
|
||||
{{#if this.publicTopicFields}}
|
||||
<div class="setting full field-mapper-setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.action.create_topic.category"}}</label>
|
||||
|
@ -163,7 +163,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
{{#if hasEventField}}
|
||||
{{#if this.hasEventField}}
|
||||
<div class="setting full">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.action.create_topic.add_event"}}</label>
|
||||
|
@ -180,7 +180,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if hasLocationField}}
|
||||
{{#if this.hasLocationField}}
|
||||
<div class="setting full">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.action.create_topic.add_location"}}</label>
|
||||
|
@ -198,7 +198,7 @@
|
|||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if sendMessage}}
|
||||
{{#if this.sendMessage}}
|
||||
<div class="setting full field-mapper-setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.action.send_message.recipient"}}</label>
|
||||
|
@ -224,7 +224,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if updateProfile}}
|
||||
{{#if this.updateProfile}}
|
||||
<div class="setting full field-mapper-setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.action.update_profile.setting"}}</label>
|
||||
|
@ -247,7 +247,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if sendToApi}}
|
||||
{{#if this.sendToApi}}
|
||||
<div class="setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.action.send_to_api.api"}}</label>
|
||||
|
@ -256,7 +256,7 @@
|
|||
<div class="setting-value">
|
||||
{{combo-box
|
||||
value=this.action.api
|
||||
content=availableApis
|
||||
content=this.availableApis
|
||||
onChange=(action (mut this.action.api))
|
||||
options=(hash
|
||||
isDisabled=this.action.custom_title_enabled
|
||||
|
@ -274,10 +274,10 @@
|
|||
<div class="setting-value">
|
||||
{{combo-box
|
||||
value=this.action.api_endpoint
|
||||
content=availableEndpoints
|
||||
content=this.availableEndpoints
|
||||
onChange=(action (mut this.action.api_endpoint))
|
||||
options=(hash
|
||||
isDisabled=apiEmpty
|
||||
isDisabled=this.apiEmpty
|
||||
none="admin.wizard.action.send_to_api.select_an_endpoint"
|
||||
)
|
||||
}}
|
||||
|
@ -294,14 +294,14 @@
|
|||
value=this.action.api_body
|
||||
previewEnabled=false
|
||||
barEnabled=false
|
||||
wizardFields=wizardFields
|
||||
wizardFields=this.wizardFields
|
||||
placeholder="admin.wizard.action.send_to_api.body_placeholder"
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if addToGroup}}
|
||||
{{#if this.addToGroup}}
|
||||
<div class="setting full field-mapper-setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.group"}}</label>
|
||||
|
@ -326,7 +326,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if routeTo}}
|
||||
{{#if this.routeTo}}
|
||||
<div class="setting full field-mapper-setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.action.route_to.url"}}</label>
|
||||
|
@ -350,7 +350,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if watchCategories}}
|
||||
{{#if this.watchCategories}}
|
||||
<div class="setting full field-mapper-setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.action.watch_categories.categories"}}</label>
|
||||
|
@ -404,7 +404,7 @@
|
|||
<div class="setting-value">
|
||||
{{combo-box
|
||||
value=this.action.notification_level
|
||||
content=availableNotificationLevels
|
||||
content=this.availableNotificationLevels
|
||||
onChange=(action (mut this.action.notification_level))
|
||||
options=(hash
|
||||
isDisabled=this.action.custom_title_enabled
|
||||
|
@ -445,7 +445,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if watchTags}}
|
||||
{{#if this.watchTags}}
|
||||
<div class="setting full field-mapper-setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.action.watch_tags.tags"}}</label>
|
||||
|
@ -478,7 +478,7 @@
|
|||
<div class="setting-value">
|
||||
{{combo-box
|
||||
value=this.action.notification_level
|
||||
content=availableNotificationLevels
|
||||
content=this.availableNotificationLevels
|
||||
onChange=(action (mut this.action.notification_level))
|
||||
options=(hash
|
||||
isDisabled=this.action.custom_title_enabled
|
||||
|
@ -519,7 +519,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if createGroup}}
|
||||
{{#if this.createGroup}}
|
||||
<div class="setting full field-mapper-setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.action.create_group.name"}}</label>
|
||||
|
@ -743,7 +743,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if createCategory}}
|
||||
{{#if this.createCategory}}
|
||||
<div class="setting full field-mapper-setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.action.create_category.name"}}</label>
|
||||
|
@ -871,7 +871,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if hasCustomFields}}
|
||||
{{#if this.hasCustomFields}}
|
||||
<div class="setting full field-mapper-setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.action.custom_fields.label"}}</label>
|
||||
|
@ -889,14 +889,14 @@
|
|||
wizardActionSelection="value"
|
||||
userFieldSelection="value"
|
||||
keyPlaceholder="admin.wizard.action.custom_fields.key"
|
||||
context=customFieldsContext
|
||||
context=this.customFieldsContext
|
||||
)
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if sendMessage}}
|
||||
{{#if this.sendMessage}}
|
||||
<div class="setting full field-mapper-setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.required"}}</label>
|
||||
|
@ -919,7 +919,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if showPostAdvanced}}
|
||||
{{#if this.showPostAdvanced}}
|
||||
<div class="setting full field-mapper-setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.action.poster.label"}}</label>
|
||||
|
@ -994,7 +994,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if routeTo}}
|
||||
{{#if this.routeTo}}
|
||||
<div class="setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.action.route_to.code"}}</label>
|
|
@ -1,8 +1,8 @@
|
|||
{{#if showUndo}}
|
||||
{{#if this.showUndo}}
|
||||
{{d-button
|
||||
action=(action "undoChanges")
|
||||
icon=undoIcon
|
||||
label=undoKey
|
||||
icon=this.undoIcon
|
||||
label=this.undoKey
|
||||
class="undo-changes"
|
||||
}}
|
||||
{{/if}}
|
||||
|
@ -42,12 +42,12 @@
|
|||
</div>
|
||||
<div class="setting-value">
|
||||
{{uppy-image-uploader
|
||||
imageUrl=field.image
|
||||
imageUrl=this.field.image
|
||||
onUploadDone=(action "imageUploadDone")
|
||||
onUploadDeleted=(action "imageUploadDeleted")
|
||||
type="wizard-field-image"
|
||||
class="no-repeat contain-image"
|
||||
id=(concat "wizard-field-" field.id "-image-upload")
|
||||
id=(concat "wizard-field-" this.field.id "-image-upload")
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -59,19 +59,19 @@
|
|||
|
||||
<div class="setting-value">
|
||||
{{wizard-subscription-selector
|
||||
value=field.type
|
||||
value=this.field.type
|
||||
feature="field"
|
||||
attribute="type"
|
||||
onChange=(action "changeType")
|
||||
wizard=wizard
|
||||
wizard=this.wizard
|
||||
options=(hash none="admin.wizard.select_type")
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{wizard-message key=messageKey url=messageUrl component="field"}}
|
||||
{{wizard-message key=this.messageKey url=this.messageUrl component="field"}}
|
||||
|
||||
{{#if isTextType}}
|
||||
{{#if this.isTextType}}
|
||||
<div class="setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.field.min_length"}}</label>
|
||||
|
@ -128,7 +128,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if isComposerPreview}}
|
||||
{{#if this.isComposerPreview}}
|
||||
<div class="setting full">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.field.preview_template"}}</label>
|
||||
|
@ -144,7 +144,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if isUpload}}
|
||||
{{#if this.isUpload}}
|
||||
<div class="setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.field.file_types"}}</label>
|
||||
|
@ -156,7 +156,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if showLimit}}
|
||||
{{#if this.showLimit}}
|
||||
<div class="setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.field.limit"}}</label>
|
||||
|
@ -168,7 +168,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if isDateTime}}
|
||||
{{#if this.isDateTime}}
|
||||
<div class="setting">
|
||||
<div class="setting-label">
|
||||
<label>{{html-safe
|
||||
|
@ -185,7 +185,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if showPrefill}}
|
||||
{{#if this.showPrefill}}
|
||||
<div class="setting full field-mapper-setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.field.prefill"}}</label>
|
||||
|
@ -193,16 +193,16 @@
|
|||
|
||||
<div class="setting-value">
|
||||
{{wizard-mapper
|
||||
inputs=field.prefill
|
||||
inputs=this.field.prefill
|
||||
property="prefill"
|
||||
onUpdate=(action "mappedFieldUpdated")
|
||||
options=prefillOptions
|
||||
options=this.prefillOptions
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if showContent}}
|
||||
{{#if this.showContent}}
|
||||
<div class="setting full field-mapper-setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.field.content"}}</label>
|
||||
|
@ -210,16 +210,16 @@
|
|||
|
||||
<div class="setting-value">
|
||||
{{wizard-mapper
|
||||
inputs=field.content
|
||||
inputs=this.field.content
|
||||
property="content"
|
||||
onUpdate=(action "mappedFieldUpdated")
|
||||
options=contentOptions
|
||||
options=this.contentOptions
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if isTag}}
|
||||
{{#if this.isTag}}
|
||||
<div class="setting full field-mapper-setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.field.tag_groups"}}</label>
|
||||
|
@ -227,9 +227,9 @@
|
|||
|
||||
<div class="setting-value">
|
||||
{{tag-group-chooser
|
||||
id=(concat field.id "-tag-groups")
|
||||
tagGroups=field.tag_groups
|
||||
onChange=(action (mut field.tag_groups))
|
||||
id=(concat this.field.id "-tag-groups")
|
||||
tagGroups=this.field.tag_groups
|
||||
onChange=(action (mut this.field.tag_groups))
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -245,7 +245,7 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if isTopic}}
|
||||
{{#if this.isTopic}}
|
||||
<div class="setting full field-mapper-setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.field.category.label"}}</label>
|
||||
|
@ -271,7 +271,7 @@
|
|||
</div>
|
||||
|
||||
<div class="setting-value">
|
||||
{{wizard-mapper inputs=field.condition options=fieldConditionOptions}}
|
||||
{{wizard-mapper inputs=this.field.condition options=this.fieldConditionOptions}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -281,11 +281,11 @@
|
|||
</div>
|
||||
|
||||
<div class="setting-value">
|
||||
{{wizard-mapper inputs=field.index options=fieldIndexOptions}}
|
||||
{{wizard-mapper inputs=this.field.index options=this.fieldIndexOptions}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#if isCategory}}
|
||||
{{#if this.isCategory}}
|
||||
<div class="setting">
|
||||
<div class="setting-label">
|
||||
<label>{{i18n "admin.wizard.field.property"}}</label>
|
||||
|
@ -293,16 +293,16 @@
|
|||
|
||||
<div class="setting-value">
|
||||
{{combo-box
|
||||
value=field.property
|
||||
content=categoryPropertyTypes
|
||||
onChange=(action (mut field.property))
|
||||
value=this.field.property
|
||||
content=this.categoryPropertyTypes
|
||||
onChange=(action (mut this.field.property))
|
||||
options=(hash none="admin.wizard.selector.placeholder.property")
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if validations}}
|
||||
{{wizard-realtime-validations field=field validations=validations}}
|
||||
{{#if this.validations}}
|
||||
{{wizard-realtime-validations field=this.field validations=this.validations}}
|
||||
{{/if}}
|
||||
{{/wizard-subscription-container}}
|
|
@ -13,12 +13,12 @@
|
|||
</div>
|
||||
<div class="setting-value">
|
||||
{{uppy-image-uploader
|
||||
imageUrl=step.banner
|
||||
imageUrl=this.step.banner
|
||||
onUploadDone=(action "bannerUploadDone")
|
||||
onUploadDeleted=(action "bannerUploadDeleted")
|
||||
type="wizard-step-banner"
|
||||
class="no-repeat contain-image"
|
||||
id=(concat "wizard-step-" step.id "-banner-upload")
|
||||
id=(concat "wizard-step-" this.step.id "-banner-upload")
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -28,7 +28,7 @@
|
|||
<label>{{i18n "admin.wizard.step.description"}}</label>
|
||||
</div>
|
||||
<div class="setting-value">
|
||||
{{wizard-text-editor value=step.raw_description}}
|
||||
{{wizard-text-editor value=this.step.raw_description}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
|||
</div>
|
||||
|
||||
<div class="setting-value">
|
||||
{{wizard-mapper inputs=step.condition options=stepConditionOptions}}
|
||||
{{wizard-mapper inputs=this.step.condition options=this.stepConditionOptions}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -59,7 +59,7 @@
|
|||
|
||||
<div class="setting-value">
|
||||
{{wizard-mapper
|
||||
inputs=step.required_data
|
||||
inputs=this.step.required_data
|
||||
options=(hash
|
||||
inputTypes="validation"
|
||||
inputConnector="and"
|
||||
|
@ -69,7 +69,7 @@
|
|||
context="step"
|
||||
)
|
||||
}}
|
||||
{{#if step.required_data}}
|
||||
{{#if this.step.required_data}}
|
||||
<div class="required-data-message">
|
||||
<div class="label">
|
||||
{{i18n "admin.wizard.step.required_data.not_permitted_message"}}
|
||||
|
@ -86,7 +86,7 @@
|
|||
</div>
|
||||
<div class="setting-value">
|
||||
{{wizard-mapper
|
||||
inputs=step.permitted_params
|
||||
inputs=this.step.permitted_params
|
||||
options=(hash
|
||||
pairConnector="set"
|
||||
inputTypes="association"
|
||||
|
@ -101,20 +101,20 @@
|
|||
|
||||
{{wizard-links
|
||||
itemType="field"
|
||||
current=currentField
|
||||
items=step.fields
|
||||
parentId=step.id
|
||||
current=this.currentField
|
||||
items=this.step.fields
|
||||
parentId=this.step.id
|
||||
}}
|
||||
|
||||
{{#each step.fields as |field|}}
|
||||
{{#each this.step.fields as |field|}}
|
||||
{{wizard-custom-field
|
||||
field=field
|
||||
step=step
|
||||
wizard=wizard
|
||||
currentFieldId=currentField.id
|
||||
fieldTypes=fieldTypes
|
||||
step=this.step
|
||||
wizard=this.wizard
|
||||
currentFieldId=this.currentField.id
|
||||
fieldTypes=this.fieldTypes
|
||||
removeField="removeField"
|
||||
wizardFields=wizardFields
|
||||
subscribed=subscribed
|
||||
wizardFields=this.wizardFields
|
||||
subscribed=this.subscribed
|
||||
}}
|
||||
{{/each}}
|
|
@ -1,8 +1,8 @@
|
|||
<div class="wizard-header medium">{{html-safe (i18n header)}}</div>
|
||||
<div class="wizard-header medium">{{html-safe (i18n this.header)}}</div>
|
||||
|
||||
<div class="link-list">
|
||||
{{#if anyLinks}}
|
||||
{{#each links as |link|}}
|
||||
{{#if this.anyLinks}}
|
||||
{{#each this.links as |link|}}
|
||||
<div data-id={{link.id}}>
|
||||
{{d-button
|
||||
action=(action "change")
|
|
@ -1,13 +1,13 @@
|
|||
{{#if hasMultiple}}
|
||||
{{#if this.hasMultiple}}
|
||||
{{combo-box
|
||||
value=connector
|
||||
content=connectors
|
||||
value=this.connector
|
||||
content=this.connectors
|
||||
onChange=(action "changeConnector")
|
||||
}}
|
||||
{{else}}
|
||||
{{#if connector}}
|
||||
{{#if this.connector}}
|
||||
<span class="connector-single">
|
||||
{{connectorLabel}}
|
||||
{{this.connectorLabel}}
|
||||
</span>
|
||||
{{/if}}
|
||||
{{/if}}
|
|
@ -8,7 +8,7 @@
|
|||
onUpdate=this.onUpdate
|
||||
}}
|
||||
|
||||
{{#if hasPairs}}
|
||||
{{#if this.hasPairs}}
|
||||
<div class="mapper-pairs mapper-block">
|
||||
{{#each this.input.pairs as |pair|}}
|
||||
{{wizard-mapper-pair
|
||||
|
@ -21,7 +21,7 @@
|
|||
}}
|
||||
{{/each}}
|
||||
|
||||
{{#if canAddPair}}
|
||||
{{#if this.canAddPair}}
|
||||
<a role="button" {{action "addPair"}} class="add-pair">
|
||||
{{d-icon "plus"}}
|
||||
</a>
|
||||
|
@ -29,8 +29,8 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if hasOutput}}
|
||||
{{#if hasPairs}}
|
||||
{{#if this.hasOutput}}
|
||||
{{#if this.hasPairs}}
|
||||
{{wizard-mapper-connector
|
||||
connector=this.input.output_connector
|
||||
connectors=this.connectors
|
||||
|
@ -53,6 +53,6 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
|
||||
<a role="button" class="remove-input" {{action remove this.input}}>
|
||||
<a role="button" class="remove-input" {{action this.remove this.input}}>
|
||||
{{d-icon "times"}}
|
||||
</a>
|
41
assets/javascripts/discourse/components/wizard-mapper-pair.hbs
Normale Datei
41
assets/javascripts/discourse/components/wizard-mapper-pair.hbs
Normale Datei
|
@ -0,0 +1,41 @@
|
|||
<div class="key mapper-block">
|
||||
{{wizard-mapper-selector
|
||||
selectorType="key"
|
||||
inputType=this.inputType
|
||||
value=this.pair.key
|
||||
activeType=this.pair.key_type
|
||||
options=this.options
|
||||
onUpdate=this.onUpdate
|
||||
}}
|
||||
</div>
|
||||
|
||||
{{wizard-mapper-connector
|
||||
connector=this.pair.connector
|
||||
connectors=this.connectors
|
||||
connectorType="pair"
|
||||
inputType=this.inputType
|
||||
options=this.options
|
||||
onUpdate=this.onUpdate
|
||||
}}
|
||||
|
||||
<div class="value mapper-block">
|
||||
{{wizard-mapper-selector
|
||||
selectorType="value"
|
||||
inputType=this.inputType
|
||||
value=this.pair.value
|
||||
activeType=this.pair.value_type
|
||||
options=this.options
|
||||
onUpdate=this.onUpdate
|
||||
connector=this.pair.connector
|
||||
}}
|
||||
</div>
|
||||
|
||||
{{#if this.showJoin}}
|
||||
<span class="join-pair">&</span>
|
||||
{{/if}}
|
||||
|
||||
{{#if this.showRemove}}
|
||||
<a role="button" {{action this.removePair this.pair}} class="remove-pair">{{d-icon
|
||||
"times"
|
||||
}}</a>
|
||||
{{/if}}
|
|
@ -0,0 +1 @@
|
|||
{{this.item.label}}
|
|
@ -1,14 +1,14 @@
|
|||
<div class="type-selector">
|
||||
{{#if hasTypes}}
|
||||
{{#if this.hasTypes}}
|
||||
<a role="button" {{action "toggleTypes"}} class="active">
|
||||
{{activeTypeLabel}}
|
||||
{{this.activeTypeLabel}}
|
||||
</a>
|
||||
|
||||
{{#if showTypes}}
|
||||
{{#if this.showTypes}}
|
||||
<div class="selector-types">
|
||||
{{#each selectorTypes as |item|}}
|
||||
{{#each this.selectorTypes as |item|}}
|
||||
{{wizard-mapper-selector-type
|
||||
activeType=activeType
|
||||
activeType=this.activeType
|
||||
item=item
|
||||
toggle=(action "toggleType")
|
||||
}}
|
||||
|
@ -16,62 +16,62 @@
|
|||
</div>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
<span>{{activeTypeLabel}}</span>
|
||||
<span>{{this.activeTypeLabel}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<div class="input">
|
||||
{{#if showText}}
|
||||
{{#if this.showText}}
|
||||
<Input
|
||||
@type="text"
|
||||
@value={{this.value}}
|
||||
placeholder={{i18n placeholderKey}}
|
||||
placeholder={{i18n this.placeholderKey}}
|
||||
{{on "change" (action "changeInputValue")}}
|
||||
/>
|
||||
{{/if}}
|
||||
|
||||
{{#if showComboBox}}
|
||||
{{#if this.showComboBox}}
|
||||
{{combo-box
|
||||
value=value
|
||||
content=comboBoxContent
|
||||
value=this.value
|
||||
content=this.comboBoxContent
|
||||
onChange=(action "changeValue")
|
||||
options=(hash none=placeholderKey allowAny=comboBoxAllowAny)
|
||||
options=(hash none=this.placeholderKey allowAny=this.comboBoxAllowAny)
|
||||
}}
|
||||
{{/if}}
|
||||
|
||||
{{#if showMultiSelect}}
|
||||
{{#if this.showMultiSelect}}
|
||||
{{multi-select
|
||||
content=multiSelectContent
|
||||
value=value
|
||||
content=this.multiSelectContent
|
||||
value=this.value
|
||||
onChange=(action "changeValue")
|
||||
options=multiSelectOptions
|
||||
options=this.multiSelectOptions
|
||||
}}
|
||||
{{/if}}
|
||||
|
||||
{{#if showList}}
|
||||
{{#if this.showList}}
|
||||
{{wizard-value-list
|
||||
values=value
|
||||
addKey=placeholderKey
|
||||
values=this.value
|
||||
addKey=this.placeholderKey
|
||||
onChange=(action "changeValue")
|
||||
}}
|
||||
{{/if}}
|
||||
|
||||
{{#if showTag}}
|
||||
{{#if this.showTag}}
|
||||
{{tag-chooser
|
||||
tags=value
|
||||
tags=this.value
|
||||
onChange=(action "changeValue")
|
||||
everyTag=true
|
||||
options=(hash none=placeholderKey filterable=true)
|
||||
options=(hash none=this.placeholderKey filterable=true)
|
||||
}}
|
||||
{{/if}}
|
||||
|
||||
{{#if showUser}}
|
||||
{{#if this.showUser}}
|
||||
{{wizard-user-chooser
|
||||
placeholderKey=placeholderKey
|
||||
value=value
|
||||
placeholderKey=this.placeholderKey
|
||||
value=this.value
|
||||
autocomplete="discourse"
|
||||
onChange=(action "changeUserValue")
|
||||
options=userOptions
|
||||
options=this.userOptions
|
||||
}}
|
||||
{{/if}}
|
||||
</div>
|
|
@ -1,4 +1,4 @@
|
|||
{{#each inputs as |input|}}
|
||||
{{#each this.inputs as |input|}}
|
||||
{{#if input.connector}}
|
||||
{{wizard-mapper-connector
|
||||
connector=input.connector
|
||||
|
@ -9,13 +9,13 @@
|
|||
|
||||
{{wizard-mapper-input
|
||||
input=input
|
||||
options=inputOptions
|
||||
options=this.inputOptions
|
||||
remove=(action "remove")
|
||||
onUpdate=(action "inputUpdated")
|
||||
}}
|
||||
{{/each}}
|
||||
|
||||
{{#if canAdd}}
|
||||
{{#if this.canAdd}}
|
||||
<span class="add-mapper-input">
|
||||
{{d-button action=(action "add") label="admin.wizard.add" icon="plus"}}
|
||||
</span>
|
|
@ -1,11 +1,11 @@
|
|||
<div class="message-block primary">
|
||||
{{#if showIcon}}
|
||||
{{d-icon icon}}
|
||||
{{#if this.showIcon}}
|
||||
{{d-icon this.icon}}
|
||||
{{/if}}
|
||||
<span class="message-content">{{html-safe message}}</span>
|
||||
{{#if hasItems}}
|
||||
<span class="message-content">{{html-safe this.message}}</span>
|
||||
{{#if this.hasItems}}
|
||||
<ul>
|
||||
{{#each items as |item|}}
|
||||
{{#each this.items as |item|}}
|
||||
<li>
|
||||
<span>{{d-icon item.icon}}</span>
|
||||
<span>{{html-safe item.html}}</span>
|
||||
|
@ -15,12 +15,12 @@
|
|||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{#if showDocumentation}}
|
||||
{{#if this.showDocumentation}}
|
||||
<div class="message-block">
|
||||
{{d-icon "question-circle"}}
|
||||
|
||||
<a href={{url}} target="_blank" rel="noopener noreferrer">
|
||||
{{documentation}}
|
||||
<a href={{this.url}} target="_blank" rel="noopener noreferrer">
|
||||
{{this.documentation}}
|
||||
</a>
|
||||
</div>
|
||||
{{/if}}
|
|
@ -3,7 +3,7 @@
|
|||
</div>
|
||||
<div class="setting-value full">
|
||||
<ul>
|
||||
{{#each-in field.validations as |type props|}}
|
||||
{{#each-in this.field.validations as |type props|}}
|
||||
<li>
|
||||
<span class="setting-title">
|
||||
<h4>{{i18n (concat "admin.wizard.field.validations." type)}}</h4>
|
||||
|
@ -42,7 +42,7 @@
|
|||
/>
|
||||
{{combo-box
|
||||
value=(readonly props.time_unit)
|
||||
content=timeUnits
|
||||
content=this.timeUnits
|
||||
class="time-unit-selector"
|
||||
onChange=(action (mut props.time_unit))
|
||||
}}
|
||||
|
@ -54,13 +54,13 @@
|
|||
</div>
|
||||
<div class="setting-value">
|
||||
{{radio-button
|
||||
name=(concat type field.id)
|
||||
name=(concat type this.field.id)
|
||||
value="above"
|
||||
selection=props.position
|
||||
}}
|
||||
<span>{{i18n "admin.wizard.field.validations.above"}}</span>
|
||||
{{radio-button
|
||||
name=(concat type field.id)
|
||||
name=(concat type this.field.id)
|
||||
value="below"
|
||||
selection=props.position
|
||||
}}
|
|
@ -5,9 +5,9 @@
|
|||
<div class="subscription-header">
|
||||
<h4>{{i18n "admin.wizard.subscription.title"}}</h4>
|
||||
|
||||
<a href={{subscriptionLink}} title={{i18n subscribedTitle}}>
|
||||
{{d-icon subscribedIcon}}
|
||||
{{i18n subscribedLabel}}
|
||||
<a href={{this.subscriptionLink}} title={{i18n this.subscribedTitle}}>
|
||||
{{d-icon this.subscribedIcon}}
|
||||
{{i18n this.subscribedLabel}}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
<div class="select-kit-header-wrapper">
|
||||
|
||||
{{component
|
||||
this.selectKit.options.selectedNameComponent
|
||||
tabindex=this.tabindex
|
||||
item=this.selectedContent
|
||||
selectKit=this.selectKit
|
||||
shouldDisplayClearableButton=this.shouldDisplayClearableButton
|
||||
}}
|
||||
|
||||
{{#if this.subscriptionRequired}}
|
||||
<span class="subscription-label">{{i18n this.selectorLabel}}</span>
|
||||
{{/if}}
|
||||
|
||||
{{d-icon this.caretIcon class="caret-icon"}}
|
||||
</div>
|
|
@ -0,0 +1,15 @@
|
|||
{{#if this.icons}}
|
||||
<div class="icons">
|
||||
<span class="selection-indicator"></span>
|
||||
{{#each this.icons as |icon|}}
|
||||
{{d-icon icon translatedtitle=(dasherize this.title)}}
|
||||
{{/each}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="texts">
|
||||
<span class="name">{{html-safe this.label}}</span>
|
||||
{{#if this.item.subscriptionRequired}}
|
||||
<span class="subscription-label">{{i18n this.item.selectorLabel}}</span>
|
||||
{{/if}}
|
||||
</div>
|
|
@ -1,11 +1,11 @@
|
|||
<div class="supplier-authorize">
|
||||
<WizardSubscriptionBadge />
|
||||
{{#if authorized}}
|
||||
{{conditional-loading-spinner size="small" condition=unauthorizing}}
|
||||
{{#if this.authorized}}
|
||||
<ConditionalLoadingSpinner @condition={{this.unauthorizing}} @size="small" />
|
||||
<DButton
|
||||
class="deauthorize"
|
||||
@title="admin.wizard.subscription.deauthorize.title"
|
||||
@disabled={{unauthorizing}}
|
||||
@disabled={{this.unauthorizing}}
|
||||
@action={{this.deauthorize}}
|
||||
>
|
||||
{{i18n "admin.wizard.subscription.deauthorize.label"}}
|
||||
|
|
|
@ -1,132 +1,132 @@
|
|||
{{#if hasValue}}
|
||||
{{#if isText}}
|
||||
{{value.value}}
|
||||
{{#if this.hasValue}}
|
||||
{{#if this.isText}}
|
||||
{{this.value.value}}
|
||||
{{/if}}
|
||||
|
||||
{{#if isLongtext}}
|
||||
{{#if this.isLongtext}}
|
||||
<div class="wizard-table-long-text">
|
||||
<p class="wizard-table-long-text-content {{textState}}">
|
||||
{{value.value}}
|
||||
<p class="wizard-table-long-text-content {{this.textState}}">
|
||||
{{this.value.value}}
|
||||
</p>
|
||||
<a href {{action "expandText"}}>
|
||||
{{toggleText}}
|
||||
{{this.toggleText}}
|
||||
</a>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if isComposer}}
|
||||
{{#if this.isComposer}}
|
||||
<div class="wizard-table-long-text">
|
||||
<p
|
||||
class="wizard-table-composer-text wizard-table-long-text-content
|
||||
{{textState}}"
|
||||
{{this.textState}}"
|
||||
>
|
||||
{{value.value}}
|
||||
{{this.value.value}}
|
||||
</p>
|
||||
<a href {{action "expandText"}}>
|
||||
{{toggleText}}
|
||||
{{this.toggleText}}
|
||||
</a>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if isComposerPreview}}
|
||||
{{#if this.isComposerPreview}}
|
||||
{{d-icon "comment-alt"}}
|
||||
<span class="wizard-table-composer-text">
|
||||
{{i18n "admin.wizard.submissions.composer_preview"}}:
|
||||
{{value.value}}
|
||||
{{this.value.value}}
|
||||
</span>
|
||||
{{/if}}
|
||||
|
||||
{{#if isTextOnly}}
|
||||
{{value.value}}
|
||||
{{#if this.isTextOnly}}
|
||||
{{this.value.value}}
|
||||
{{/if}}
|
||||
|
||||
{{#if isDate}}
|
||||
{{#if this.isDate}}
|
||||
<span class="wizard-table-icon-item">
|
||||
{{d-icon "calendar"}}{{value.value}}
|
||||
{{d-icon "calendar"}}{{this.value.value}}
|
||||
</span>
|
||||
{{/if}}
|
||||
|
||||
{{#if isTime}}
|
||||
{{#if this.isTime}}
|
||||
<span class="wizard-table-icon-item">
|
||||
{{d-icon "clock"}}{{value.value}}
|
||||
{{d-icon "clock"}}{{this.value.value}}
|
||||
</span>
|
||||
{{/if}}
|
||||
|
||||
{{#if isDateTime}}
|
||||
<span class="wizard-table-icon-item" title={{value.value}}>
|
||||
{{d-icon "calendar"}}{{format-date value.value format="medium"}}
|
||||
{{#if this.isDateTime}}
|
||||
<span class="wizard-table-icon-item" title={{this.value.value}}>
|
||||
{{d-icon "calendar"}}{{format-date this.value.value format="medium"}}
|
||||
</span>
|
||||
{{/if}}
|
||||
|
||||
{{#if isNumber}}
|
||||
{{value.value}}
|
||||
{{#if this.isNumber}}
|
||||
{{this.value.value}}
|
||||
{{/if}}
|
||||
|
||||
{{#if isCheckbox}}
|
||||
{{#if checkboxValue}}
|
||||
{{#if this.isCheckbox}}
|
||||
{{#if this.checkboxValue}}
|
||||
<span class="wizard-table-icon-item checkbox-true">
|
||||
{{d-icon "check"}}{{value.value}}
|
||||
{{d-icon "check"}}{{this.value.value}}
|
||||
</span>
|
||||
{{else}}
|
||||
<span class="wizard-table-icon-item checkbox-false">
|
||||
{{d-icon "times"}}{{value.value}}
|
||||
{{d-icon "times"}}{{this.value.value}}
|
||||
</span>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if isUrl}}
|
||||
{{#if this.isUrl}}
|
||||
<span class="wizard-table-icon-item url">
|
||||
{{d-icon "link"}}
|
||||
<a target="_blank" rel="noopener noreferrer" href={{value.value}}>
|
||||
{{value.value}}
|
||||
<a target="_blank" rel="noopener noreferrer" href={{this.value.value}}>
|
||||
{{this.value.value}}
|
||||
</a>
|
||||
</span>
|
||||
{{/if}}
|
||||
|
||||
{{#if isUpload}}
|
||||
{{#if this.isUpload}}
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="attachment"
|
||||
href={{file.url}}
|
||||
href={{this.file.url}}
|
||||
download
|
||||
>
|
||||
{{file.original_filename}}
|
||||
{{this.file.original_filename}}
|
||||
</a>
|
||||
{{/if}}
|
||||
|
||||
{{#if isDropdown}}
|
||||
{{#if this.isDropdown}}
|
||||
<span class="wizard-table-icon-item">
|
||||
{{d-icon "check-square"}}
|
||||
{{value.value}}
|
||||
{{this.value.value}}
|
||||
</span>
|
||||
{{/if}}
|
||||
|
||||
{{#if isTag}}
|
||||
{{#each value.value as |tag|}}
|
||||
{{#if this.isTag}}
|
||||
{{#each this.value.value as |tag|}}
|
||||
{{discourse-tag tag}}
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
|
||||
{{#if isCategory}}
|
||||
{{#if this.isCategory}}
|
||||
<strong>
|
||||
{{i18n "admin.wizard.submissions.category_id"}}:
|
||||
</strong>
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href={{categoryUrl}}
|
||||
title={{value.value}}
|
||||
href={{this.categoryUrl}}
|
||||
title={{this.value.value}}
|
||||
>
|
||||
{{value.value}}
|
||||
{{this.value.value}}
|
||||
</a>
|
||||
{{/if}}
|
||||
|
||||
{{#if isTopic}}
|
||||
{{#if this.isTopic}}
|
||||
<strong>
|
||||
{{i18n "admin.wizard.submissions.topic_id"}}:
|
||||
</strong>
|
||||
{{#each value.value as |topic|}}
|
||||
{{#each this.value.value as |topic|}}
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
|
@ -138,15 +138,15 @@
|
|||
{{/each}}
|
||||
{{/if}}
|
||||
|
||||
{{#if isGroup}}
|
||||
{{#if this.isGroup}}
|
||||
<strong>
|
||||
{{i18n "admin.wizard.submissions.group_id"}}:
|
||||
</strong>
|
||||
{{value.value}}
|
||||
{{this.value.value}}
|
||||
{{/if}}
|
||||
|
||||
{{#if isUserSelector}}
|
||||
{{#each submittedUsers as |user|}}
|
||||
{{#if this.isUserSelector}}
|
||||
{{#each this.submittedUsers as |user|}}
|
||||
{{d-icon "user"}}
|
||||
<a
|
||||
target="_blank"
|
||||
|
@ -159,26 +159,26 @@
|
|||
{{/each}}
|
||||
{{/if}}
|
||||
|
||||
{{#if isUser}}
|
||||
<LinkTo @route="user" @model={{value.username}}>
|
||||
{{avatar value imageSize="tiny"}}
|
||||
{{#if this.isUser}}
|
||||
<LinkTo @route="user" @model={{this.value.username}}>
|
||||
{{avatar this.value imageSize="tiny"}}
|
||||
</LinkTo>
|
||||
{{/if}}
|
||||
|
||||
{{#if showUsername}}
|
||||
{{#if this.showUsername}}
|
||||
<a
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
href={{userProfileUrl}}
|
||||
title={{username}}
|
||||
href={{this.userProfileUrl}}
|
||||
title={{this.username}}
|
||||
>
|
||||
{{username}}
|
||||
{{this.username}}
|
||||
</a>
|
||||
{{/if}}
|
||||
|
||||
{{#if isSubmittedAt}}
|
||||
<span class="date" title={{value}}>
|
||||
{{raw-date value}}
|
||||
{{#if this.isSubmittedAt}}
|
||||
<span class="date" title={{this.value}}>
|
||||
{{raw-date this.value}}
|
||||
</span>
|
||||
{{/if}}
|
||||
{{else}}
|
Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden Mehr anzeigen
Laden …
In neuem Issue referenzieren