mirror of
https://github.com/discourse/discourse.git
synced 2024-12-29 03:58:34 +08:00
e7f539df10
Why this change? Prior to this change, there is no description being displayed for objects typed theme setting because we were rendering a button instead of the components for the various setting types which will render the setting's description. What does this change do? 1. Introduce `SiteSettings::Description` compoment to centralise the HTML being rendered across all settings component. 2. Renders the `SiteSettings::Description` component after the edit button in `site_setting.hbs`.
67 lines
1.7 KiB
Handlebars
67 lines
1.7 KiB
Handlebars
<div class="setting-label">
|
|
<h3>
|
|
{{this.settingName}}
|
|
|
|
{{#if this.staffLogFilter}}
|
|
<LinkTo
|
|
@route="adminLogs.staffActionLogs"
|
|
@query={{hash filters=this.staffLogFilter force_refresh=true}}
|
|
title={{i18n "admin.settings.history"}}
|
|
>
|
|
<span class="history-icon">
|
|
{{d-icon "history"}}
|
|
</span>
|
|
</LinkTo>
|
|
{{/if}}
|
|
</h3>
|
|
|
|
{{#if this.defaultIsAvailable}}
|
|
<DButton
|
|
class="btn-link"
|
|
@action={{this.setDefaultValues}}
|
|
@translatedLabel={{this.setting.setDefaultValuesLabel}}
|
|
/>
|
|
{{/if}}
|
|
</div>
|
|
|
|
<div class="setting-value">
|
|
{{#if this.settingEditButton}}
|
|
<DButton
|
|
@action={{this.settingEditButton.action}}
|
|
@icon={{this.settingEditButton.icon}}
|
|
@label={{this.settingEditButton.label}}
|
|
class="setting-value-edit-button"
|
|
/>
|
|
|
|
<SiteSettings::Description @description={{this.setting.description}} />
|
|
{{else}}
|
|
{{component
|
|
this.componentName
|
|
setting=this.setting
|
|
value=this.buffered.value
|
|
validationMessage=this.validationMessage
|
|
preview=this.preview
|
|
isSecret=this.isSecret
|
|
allowAny=this.allowAny
|
|
changeValueCallback=this.changeValueCallback
|
|
}}
|
|
{{/if}}
|
|
</div>
|
|
|
|
{{#if this.dirty}}
|
|
<div class="setting-controls">
|
|
<DButton class="ok" @action={{this.update}} @icon="check" />
|
|
<DButton class="cancel" @action={{this.cancel}} @icon="times" />
|
|
</div>
|
|
{{else if this.overridden}}
|
|
{{#if this.setting.secret}}
|
|
<DButton @action={{this.toggleSecret}} @icon="far-eye-slash" />
|
|
{{/if}}
|
|
|
|
<DButton
|
|
class="btn-default undo"
|
|
@action={{this.resetDefault}}
|
|
@icon="undo"
|
|
@label="admin.settings.reset"
|
|
/>
|
|
{{/if}} |