mirror of
https://github.com/discourse/discourse.git
synced 2024-12-02 05:13:44 +08:00
043b4a4187
As much as possible I would like us to avoid having to go the with a global event listener on click/mouseover. For now I have removed all cases of `data-tooltip`, if we clearly identify a use case of a global event listener we might reconsider this. The following changes are also included: - by default tooltips won't attempt to focus first focusable element anymore - tooltip will now use `cursor: pointer` by default - a new service has been introduced: `InternalTooltip` which is responsible to track the current instance displayed by a `<DTooltip />`. Portal elements when replaced are not properly cleaned and I couldn't figure out a way to have a proper hook to ensure the previous `DTooltipInstance` is properly set as not expanded; this problem was very visible when using a tooltip as interactive and hovering another tooltip, which would replace the interactive tooltip as not closed.
132 lines
3.8 KiB
Handlebars
132 lines
3.8 KiB
Handlebars
<LinkTo @route="adminApiKeys.index" class="go-back">
|
|
{{d-icon "arrow-left"}}
|
|
<span>{{i18n "admin.api.all_api_keys"}}</span>
|
|
</LinkTo>
|
|
|
|
<div class="api-key api-key-new">
|
|
{{#if this.model.id}}
|
|
<AdminFormRow @label="admin.api.key">
|
|
<div>{{this.model.key}}</div>
|
|
</AdminFormRow>
|
|
<AdminFormRow>
|
|
{{i18n "admin.api.not_shown_again"}}
|
|
</AdminFormRow>
|
|
<AdminFormRow>
|
|
<DButton
|
|
@icon="angle-right"
|
|
@label="admin.api.continue"
|
|
@action={{this.continue}}
|
|
class="btn-primary"
|
|
/>
|
|
</AdminFormRow>
|
|
{{else}}
|
|
<AdminFormRow @label="admin.api.description">
|
|
<Input
|
|
@value={{this.model.description}}
|
|
maxlength="255"
|
|
placeholder={{i18n "admin.api.description_placeholder"}}
|
|
/>
|
|
</AdminFormRow>
|
|
|
|
<AdminFormRow @label="admin.api.user_mode">
|
|
<ComboBox
|
|
@content={{this.userModes}}
|
|
@value={{this.userMode}}
|
|
@onChange={{action "changeUserMode"}}
|
|
/>
|
|
</AdminFormRow>
|
|
|
|
{{#if this.showUserSelector}}
|
|
<AdminFormRow @label="admin.api.user">
|
|
<EmailGroupUserChooser
|
|
@value={{this.model.username}}
|
|
@onChange={{action "updateUsername"}}
|
|
@options={{hash
|
|
maximum=1
|
|
filterPlaceholder="admin.api.user_placeholder"
|
|
}}
|
|
/>
|
|
</AdminFormRow>
|
|
{{/if}}
|
|
|
|
<AdminFormRow @label="admin.api.scope_mode">
|
|
<ComboBox
|
|
@content={{this.scopeModes}}
|
|
@value={{this.scopeMode}}
|
|
@onChange={{action "changeScopeMode"}}
|
|
/>
|
|
|
|
{{#if (eq this.scopeMode "read_only")}}
|
|
<p>{{i18n "admin.api.scopes.descriptions.global.read"}}</p>
|
|
{{else if (eq this.scopeMode "global")}}
|
|
<p>{{i18n "admin.api.scopes.global_description"}}</p>
|
|
{{/if}}
|
|
</AdminFormRow>
|
|
|
|
{{#if (eq this.scopeMode "granular")}}
|
|
<h2 class="scopes-title">{{i18n "admin.api.scopes.title"}}</h2>
|
|
<p>{{i18n "admin.api.scopes.description"}}</p>
|
|
<table class="scopes-table grid">
|
|
<thead>
|
|
<tr>
|
|
<td></td>
|
|
<td></td>
|
|
<td>{{i18n "admin.api.scopes.allowed_urls"}}</td>
|
|
<td>{{i18n "admin.api.scopes.optional_allowed_parameters"}}</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{#each-in this.scopes as |resource actions|}}
|
|
<tr class="scope-resource-name">
|
|
<td><b>{{resource}}</b></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
{{#each actions as |act|}}
|
|
<tr>
|
|
<td><Input @type="checkbox" @checked={{act.selected}} /></td>
|
|
<td>
|
|
<div class="scope-name">{{act.name}}</div>
|
|
<DTooltip
|
|
@icon="question-circle"
|
|
@content={{i18n
|
|
(concat
|
|
"admin.api.scopes.descriptions." resource "." act.key
|
|
)
|
|
class="scope-tooltip"
|
|
}}
|
|
/>
|
|
</td>
|
|
<td>
|
|
<DButton
|
|
@icon="link"
|
|
@action={{fn this.showURLs act.urls}}
|
|
class="btn-info"
|
|
/>
|
|
</td>
|
|
<td>
|
|
{{#each act.params as |p|}}
|
|
<Input
|
|
maxlength="255"
|
|
@value={{get act p}}
|
|
placeholder={{p}}
|
|
/>
|
|
{{/each}}
|
|
</td>
|
|
</tr>
|
|
{{/each}}
|
|
{{/each-in}}
|
|
</tbody>
|
|
</table>
|
|
{{/if}}
|
|
|
|
<DButton
|
|
@icon="check"
|
|
@label="admin.api.save"
|
|
@action={{this.save}}
|
|
@disabled={{this.saveDisabled}}
|
|
class="btn-primary"
|
|
/>
|
|
{{/if}}
|
|
</div> |