mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-22 22:36:11 +08:00
This commit contains a few improvements: * Use LinkTo instead of a button with a weird action referencing the controller to navigate to the filtered settings for a plugin * Add an AdminPlugin model with tracked properties and use that when toggling the setting on/off and in the templates * Make it so the Settings button for a plugin navigates to the correct site setting category instead of always just going to the generic "plugins" one if possible
93 lines
No EOL
2.8 KiB
Handlebars
Vendored
93 lines
No EOL
2.8 KiB
Handlebars
Vendored
{{#if this.model.length}}
|
|
<h3>{{i18n "admin.plugins.installed"}}</h3>
|
|
|
|
<table class="admin-plugins grid">
|
|
<thead>
|
|
<tr>
|
|
<th></th>
|
|
<th>{{i18n "admin.plugins.name"}}</th>
|
|
<th>{{i18n "admin.plugins.version"}}</th>
|
|
<th>{{i18n "admin.plugins.enabled"}}</th>
|
|
<th></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{#each this.model as |plugin|}}
|
|
<tr data-plugin-name={{plugin.name}}>
|
|
<td>
|
|
{{#if plugin.isOfficial}}
|
|
{{d-icon
|
|
"check-circle"
|
|
title="admin.plugins.official"
|
|
class="admin-plugins-official-badge"
|
|
}}
|
|
{{/if}}
|
|
</td>
|
|
|
|
<td class="plugin-name">
|
|
<div class="name">
|
|
{{#if plugin.url}}
|
|
<a
|
|
href={{plugin.url}}
|
|
rel="noopener noreferrer"
|
|
target="_blank"
|
|
>{{plugin.name}} {{d-icon "external-link-alt"}}</a>
|
|
{{else}}
|
|
{{plugin.name}}
|
|
{{/if}}
|
|
</div>
|
|
<div class="about">
|
|
{{plugin.about}}
|
|
</div>
|
|
</td>
|
|
<td class="version">
|
|
<div class="label">{{i18n "admin.plugins.version"}}</div>
|
|
{{plugin.version}}<br />
|
|
<PluginCommitHash @plugin={{plugin}} />
|
|
</td>
|
|
<td class="col-enabled">
|
|
<div class="label">{{i18n "admin.plugins.enabled"}}</div>
|
|
{{#if plugin.enabledSetting}}
|
|
<DToggleSwitch
|
|
@state={{plugin.enabled}}
|
|
{{on "click" (fn this.togglePluginEnabled plugin)}}
|
|
/>
|
|
{{else}}
|
|
<DToggleSwitch @state={{plugin.enabled}} disabled={{true}} />
|
|
{{/if}}
|
|
</td>
|
|
<td class="settings">
|
|
{{#if this.currentUser.admin}}
|
|
{{#if plugin.hasSettings}}
|
|
<LinkTo
|
|
class="btn-default btn btn-icon-text"
|
|
@route="adminSiteSettingsCategory"
|
|
@model={{plugin.settingCategoryName}}
|
|
@query={{hash filter=(concat "plugin:" plugin.name)}}
|
|
data-plugin-setting-button={{plugin.name}}
|
|
>
|
|
{{d-icon "cog"}}
|
|
{{i18n "admin.plugins.change_settings_short"}}
|
|
</LinkTo>
|
|
{{/if}}
|
|
{{/if}}
|
|
</td>
|
|
</tr>
|
|
{{/each}}
|
|
</tbody>
|
|
</table>
|
|
{{else}}
|
|
<p>{{i18n "admin.plugins.none_installed"}}</p>
|
|
{{/if}}
|
|
|
|
<p class="admin-plugins-howto"><a
|
|
href="https://meta.discourse.org/t/install-a-plugin/19157"
|
|
>{{i18n "admin.plugins.howto"}}</a></p>
|
|
|
|
<span>
|
|
<PluginOutlet
|
|
@name="admin-below-plugins-index"
|
|
@connectorTagName="div"
|
|
@outletArgs={{hash model=this.model}}
|
|
/>
|
|
</span> |