DEV: enforces no-invalid-interactive linting rule (#8907)
This commit is contained in:
parent
9d50e1b40f
commit
902d0e1e3a
|
@ -5,6 +5,7 @@ module.exports = {
|
|||
rules: {
|
||||
"self-closing-void-elements": true,
|
||||
"table-groups": true,
|
||||
"style-concatenation": true
|
||||
"style-concatenation": true,
|
||||
"no-invalid-interactive": true
|
||||
}
|
||||
};
|
||||
|
|
|
@ -13,7 +13,9 @@
|
|||
{{#if editingDescription}}
|
||||
{{input value=buffered.description maxlength="255" placeholder=(i18n "admin.api.description_placeholder")}}
|
||||
{{else}}
|
||||
<span {{action "editDescription"}}>{{if model.description model.description (i18n "admin.api.no_description")}}</span>
|
||||
<span>
|
||||
{{if model.description model.description (i18n "admin.api.no_description")}}
|
||||
</span>
|
||||
{{/if}}
|
||||
|
||||
<div class='controls'>
|
||||
|
|
|
@ -163,7 +163,11 @@
|
|||
label="admin.badges.save"}}
|
||||
<span class='saving'>{{savingStatus}}</span>
|
||||
{{#unless readOnly}}
|
||||
<a {{action "destroy"}} class='delete-link'>{{i18n 'admin.badges.delete'}}</a>
|
||||
{{d-button
|
||||
action=(action "destroy")
|
||||
class="btn-danger"
|
||||
label="admin.badges.delete"
|
||||
}}
|
||||
{{/unless}}
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
{{#if editing}}
|
||||
{{text-field value=buffer autofocus="autofocus" autocomplete="discourse"}}
|
||||
{{else}}
|
||||
<span {{action "edit"}}>{{value}}</span>
|
||||
<a href {{action "edit"}} class="inline-editable-field">
|
||||
<span>{{value}}</span>
|
||||
</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class='controls'>
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
{{#each visibleTargets as |target|}}
|
||||
<li>
|
||||
{{#link-to editRouteName
|
||||
theme.id
|
||||
target.name
|
||||
fieldName
|
||||
replace=true
|
||||
title=field.title
|
||||
theme.id
|
||||
target.name
|
||||
fieldName
|
||||
replace=true
|
||||
title=field.title
|
||||
class=(if target.edited 'edited' 'blank')
|
||||
}}
|
||||
{{#if target.error}}{{d-icon 'exclamation-triangle'}}{{/if}}
|
||||
|
@ -19,14 +19,15 @@
|
|||
{{/link-to}}
|
||||
</li>
|
||||
{{/each}}
|
||||
|
||||
|
||||
{{#if allowAdvanced}}
|
||||
<li>
|
||||
<a {{action "toggleShowAdvanced"}}
|
||||
class='no-text'
|
||||
<a {{action "toggleShowAdvanced"}}
|
||||
class='no-text'
|
||||
href
|
||||
title="{{i18n (concat "admin.customize.theme." (if showAdvanced "hide_advanced" "show_advanced"))}}"
|
||||
>
|
||||
{{d-icon (if showAdvanced "angle-double-left" "angle-double-right")}}
|
||||
{{d-icon (if showAdvanced "angle-double-left" "angle-double-right")}}
|
||||
</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
@ -48,17 +49,17 @@
|
|||
{{#each visibleFields as |field|}}
|
||||
<li>
|
||||
{{#link-to editRouteName
|
||||
theme.id
|
||||
currentTargetName
|
||||
field.name
|
||||
replace=true
|
||||
title=field.title
|
||||
theme.id
|
||||
currentTargetName
|
||||
field.name
|
||||
replace=true
|
||||
title=field.title
|
||||
class=(if field.edited 'edited' 'blank')
|
||||
}}
|
||||
{{#if field.error}}{{d-icon 'exclamation-triangle'}}{{/if}}
|
||||
{{#if field.icon}}{{d-icon field.icon}}{{/if}}
|
||||
{{field.translatedName}}
|
||||
|
||||
|
||||
{{/link-to}}
|
||||
</li>
|
||||
{{/each}}
|
||||
|
@ -66,11 +67,11 @@
|
|||
{{#if showAddField}}
|
||||
<li>
|
||||
{{#if addingField}}
|
||||
{{input type=text value=newFieldName enter=(action 'addField') escape-press=(action "cancelAddField")}}
|
||||
{{d-button class="ok" action=(action "addField" newFieldName) icon="check"}}
|
||||
{{input type=text value=newFieldName enter=(action 'addField') escape-press=(action "cancelAddField")}}
|
||||
{{d-button class="ok" action=(action "addField" newFieldName) icon="check"}}
|
||||
{{d-button class="cancel" action=(action "cancelAddField") icon="times"}}
|
||||
{{else}}
|
||||
<a {{action "toggleAddField" currentTargetName}} class="no-text">
|
||||
<a href {{action "toggleAddField" currentTargetName}} class="no-text">
|
||||
{{d-icon "plus"}}
|
||||
</a>
|
||||
{{/if}}
|
||||
|
@ -78,8 +79,8 @@
|
|||
{{/if}}
|
||||
<li class='spacer'></li>
|
||||
<li>
|
||||
<a {{action "toggleMaximize"}} class="no-text">
|
||||
{{d-icon maximizeIcon}}
|
||||
<a href {{action "toggleMaximize"}} class="no-text">
|
||||
{{d-icon maximizeIcon}}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class='setting-label'>
|
||||
<h3>{{unbound settingName}}</h3>
|
||||
{{#if defaultIsAvailable}}
|
||||
<a onClick={{action 'setDefaultValues'}}>{{setting.setDefaultValuesLabel}}</a>
|
||||
<a href onClick={{action 'setDefaultValues'}}>{{setting.setDefaultValuesLabel}}</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="setting-value">
|
||||
|
|
|
@ -31,13 +31,13 @@
|
|||
<span class="components">{{{childrenString}}}</span>
|
||||
|
||||
{{#if displayHasMore}}
|
||||
<span {{action "toggleChildrenExpanded"}} class="others-count">
|
||||
<a href {{action "toggleChildrenExpanded"}} class="others-count">
|
||||
{{#if childrenExpanded}}
|
||||
{{I18n "admin.customize.theme.collapse"}}
|
||||
{{else}}
|
||||
{{I18n "admin.customize.theme.and_x_more" count=moreCount}}
|
||||
{{/if}}
|
||||
</span>
|
||||
</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
|
@ -1,10 +1,17 @@
|
|||
<div class="themes-list-header">
|
||||
<div {{action "changeView" THEMES}} class="themes-tab tab {{if themesTabActive 'active' ''}}">
|
||||
{{I18n "admin.customize.theme.title"}}
|
||||
</div><div {{action "changeView" COMPONENTS}} class="components-tab tab {{if componentsTabActive 'active' ''}}">
|
||||
{{d-icon "puzzle-piece"}}
|
||||
{{I18n "admin.customize.theme.components"}}
|
||||
</div>
|
||||
{{d-button
|
||||
action=(action "changeView")
|
||||
actionParam=THEMES
|
||||
class=(concat "themes-tab " "tab " (if themesTabActive 'btn-danger active' ''))
|
||||
label="admin.customize.theme.title"
|
||||
}}
|
||||
{{d-button
|
||||
action=(action "changeView")
|
||||
actionParam=COMPONENTS
|
||||
class=(concat "components-tab " "tab " (if componentsTabActive 'btn-danger active' ''))
|
||||
label="admin.customize.theme.components"
|
||||
icon="puzzle-piece"
|
||||
}}
|
||||
</div>
|
||||
|
||||
<div class="themes-list-container">
|
||||
|
|
|
@ -3,9 +3,13 @@
|
|||
{{#if editingName}}
|
||||
{{text-field value=model.name autofocus="true"}}
|
||||
{{d-button action=(action "finishedEditingName") class="btn-primary submit-edit" icon="check"}}
|
||||
{{d-button action=(action "cancelEditingName") class="btn-default cancel-edit" icon="times"}}
|
||||
{{d-button action=(action "cancelEditingName") class="cancel-edit" icon="times"}}
|
||||
{{else}}
|
||||
{{model.name}} <a {{action "startEditingName"}}>{{d-icon "pencil-alt"}}</a>
|
||||
<span>{{model.name}}</span>
|
||||
{{d-button
|
||||
action=(action "startEditingName")
|
||||
icon="pencil-alt"
|
||||
}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
</td>
|
||||
<td><a href='mailto:{{unbound l.to_address}}'>{{l.to_address}}</a></td>
|
||||
{{#if l.has_bounce_key}}
|
||||
<td><a {{action "showIncomingEmail" l.id}}>{{l.email_type}}</a></td>
|
||||
<td><a href {{action "showIncomingEmail" l.id}}>{{l.email_type}}</a></td>
|
||||
{{else}}
|
||||
<td>{{l.email_type}}</td>
|
||||
{{/if}}
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
</td>
|
||||
<td>{{email.subject}}</td>
|
||||
<td class="error">
|
||||
<a {{action "showIncomingEmail" email.id}}>{{email.error}}</a>
|
||||
<a href {{action "showIncomingEmail" email.id}}>{{email.error}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
{{else}}
|
||||
|
|
|
@ -42,13 +42,13 @@
|
|||
{{#if item.editing}}
|
||||
{{text-field value=item.ip_address autofocus="autofocus"}}
|
||||
{{else}}
|
||||
<span {{action "edit" item}}>
|
||||
<a href {{action "edit" item}} class="inline-editable-field">
|
||||
{{#if item.isRange}}
|
||||
<strong>{{item.ip_address}}</strong>
|
||||
{{else}}
|
||||
{{item.ip_address}}
|
||||
{{/if}}
|
||||
</span>
|
||||
</a>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="col action">
|
||||
|
@ -108,7 +108,7 @@
|
|||
action=(action "save")
|
||||
actionParam=item
|
||||
label="admin.logs.save"}}
|
||||
<a {{action "cancel" item}}>{{i18n "cancel"}}</a>
|
||||
<a href {{action "cancel" item}}>{{i18n "cancel"}}</a>
|
||||
{{/unless}}
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -1,29 +1,29 @@
|
|||
<div class="staff-action-logs-controls">
|
||||
{{#if filtersExists}}
|
||||
<div class='staff-action-logs-filters'>
|
||||
<a {{action "clearAllFilters"}} class="clear-filters filter">
|
||||
<a href {{action "clearAllFilters"}} class="clear-filters filter">
|
||||
<span class="label">{{i18n 'admin.logs.staff_actions.clear_filters'}}</span>
|
||||
</a>
|
||||
{{#if actionFilter}}
|
||||
<a {{action "clearFilter" "actionFilter"}} class="filter">
|
||||
<a href {{action "clearFilter" "actionFilter"}} class="filter">
|
||||
<span class="label">{{i18n 'admin.logs.action'}}</span>: {{actionFilter}}
|
||||
{{d-icon "times-circle"}}
|
||||
</a>
|
||||
{{/if}}
|
||||
{{#if filters.acting_user}}
|
||||
<a {{action "clearFilter" "acting_user"}} class="filter">
|
||||
<a href {{action "clearFilter" "acting_user"}} class="filter">
|
||||
<span class="label">{{i18n 'admin.logs.staff_actions.staff_user'}}</span>: {{filters.acting_user}}
|
||||
{{d-icon "times-circle"}}
|
||||
</a>
|
||||
{{/if}}
|
||||
{{#if filters.target_user}}
|
||||
<a {{action "clearFilter" "target_user"}} class="filter">
|
||||
<a href {{action "clearFilter" "target_user"}} class="filter">
|
||||
<span class="label">{{i18n 'admin.logs.staff_actions.target_user'}}</span>: {{filters.target_user}}
|
||||
{{d-icon "times-circle"}}
|
||||
</a>
|
||||
{{/if}}
|
||||
{{#if filters.subject}}
|
||||
<a {{action "clearFilter" "subject"}} class="filter">
|
||||
<a href {{action "clearFilter" "subject"}} class="filter">
|
||||
<span class="label">{{i18n 'admin.logs.staff_actions.subject'}}</span>: {{filters.subject}}
|
||||
{{d-icon "times-circle"}}
|
||||
</a>
|
||||
|
@ -63,7 +63,7 @@
|
|||
<div class="staff-user">
|
||||
{{#if item.acting_user}}
|
||||
{{#link-to 'adminUser' item.acting_user}}{{avatar item.acting_user imageSize="tiny"}}{{/link-to}}
|
||||
<a {{action "filterByStaffUser" item.acting_user}}>{{item.acting_user.username}}</a>
|
||||
<a href {{action "filterByStaffUser" item.acting_user}}>{{item.acting_user.username}}</a>
|
||||
{{else}}
|
||||
<span class="deleted-user" title="{{i18n 'admin.user.deleted'}}">
|
||||
{{d-icon "far-trash-alt"}}
|
||||
|
@ -72,16 +72,16 @@
|
|||
</div>
|
||||
</td>
|
||||
<td class="col value action">
|
||||
<a {{action "filterByAction" item}}>{{item.actionName}}</a>
|
||||
<a href {{action "filterByAction" item}}>{{item.actionName}}</a>
|
||||
</td>
|
||||
<td class="col value subject">
|
||||
<div class="subject">
|
||||
{{#if item.target_user}}
|
||||
{{#link-to 'adminUser' item.target_user}}{{avatar item.target_user imageSize="tiny"}}{{/link-to}}
|
||||
<a {{action "filterByTargetUser" item.target_user}}>{{item.target_user.username}}</a>
|
||||
<a href {{action "filterByTargetUser" item.target_user}}>{{item.target_user.username}}</a>
|
||||
{{/if}}
|
||||
{{#if item.subject}}
|
||||
<a {{action "filterBySubject" item.subject}} title={{item.subject}}>{{item.subject}}</a>
|
||||
<a href {{action "filterBySubject" item.subject}} title={{item.subject}}>{{item.subject}}</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</td>
|
||||
|
@ -89,10 +89,10 @@
|
|||
<td class="col value details">
|
||||
{{{item.formattedDetails}}}
|
||||
{{#if item.useCustomModalForDetails}}
|
||||
<a {{action "showCustomDetailsModal" item}}>{{d-icon "info-circle"}} {{i18n 'admin.logs.staff_actions.show'}}</a>
|
||||
<a href {{action "showCustomDetailsModal" item}}>{{d-icon "info-circle"}} {{i18n 'admin.logs.staff_actions.show'}}</a>
|
||||
{{/if}}
|
||||
{{#if item.useModalForDetails}}
|
||||
<a {{action "showDetailsModal" item}}>{{d-icon "info-circle"}} {{i18n 'admin.logs.staff_actions.show'}}</a>
|
||||
<a href {{action "showDetailsModal" item}}>{{d-icon "info-circle"}} {{i18n 'admin.logs.staff_actions.show'}}</a>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="col value context">{{item.context}}</td>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{{#d-modal-body class="uploaded-image-list"}}
|
||||
<div class="selectable-avatars">
|
||||
{{#each images as |image|}}
|
||||
<div class="selectable-avatar" {{action "remove" image}}>
|
||||
<a href class="selectable-avatar" {{action "remove" image}}>
|
||||
{{bound-avatar-template image "huge"}}
|
||||
</div>
|
||||
</a>
|
||||
{{else}}
|
||||
<p>{{i18n "admin.site_settings.uploaded_image_list.empty"}}</p>
|
||||
{{/each}}
|
||||
|
|
|
@ -21,9 +21,9 @@
|
|||
<div class='clearfix'></div>
|
||||
</div>
|
||||
{{#if hasIncoming}}
|
||||
<div class='alert alert-info clickable' tabindex="0" {{action "showInserted"}}>
|
||||
<a href class='alert alert-info clickable' tabindex="0" {{action "showInserted"}}>
|
||||
{{count-i18n key="admin.web_hooks.events.incoming" count=incomingCount}}
|
||||
</div>
|
||||
</a>
|
||||
{{/if}}
|
||||
<ul>
|
||||
{{#each model as |webHookEvent|}}
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
{{#conditional-loading-spinner condition=loading}}
|
||||
{{#if hasIncoming}}
|
||||
<div class="show-mores">
|
||||
<div class='alert alert-info clickable' {{action showInserted}}>
|
||||
<a tabindex="0" href="" {{action showInserted}}>
|
||||
{{count-i18n key="topic_count_" suffix="latest" count=incomingCount}}
|
||||
</a>
|
||||
</div>
|
||||
<a tabindex="0" href {{action showInserted}} class='alert alert-info clickable'>
|
||||
{{count-i18n key="topic_count_" suffix="latest" count=2}}
|
||||
</a>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
|
|
|
@ -10,8 +10,10 @@
|
|||
allowEmails='true'
|
||||
autocomplete="discourse"}}
|
||||
{{else}}
|
||||
<div class='ac-wrap composer-user-selector-limited' {{action "toggleSelector"}}>
|
||||
<span>{{limitedUsernames}}</span>
|
||||
<span class='btn btn-primary'>{{hiddenUsersCount}}</span>
|
||||
</div>
|
||||
<a href {{action "toggleSelector"}}>
|
||||
<div class='ac-wrap composer-user-selector-limited'>
|
||||
<span>{{limitedUsernames}}</span>
|
||||
<span class='btn btn-primary'>{{hiddenUsersCount}}</span>
|
||||
</div>
|
||||
</a>
|
||||
{{/if}}
|
||||
|
|
|
@ -1 +1 @@
|
|||
<a {{action close}} class='d-modal-cancel'>{{i18n 'cancel'}}</a>
|
||||
<a href {{action close}} class='d-modal-cancel'>{{i18n 'cancel'}}</a>
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{{#if item.truncated}}
|
||||
{{#if expanded}}
|
||||
<a class="collapse-item" onclick={{action "toggleItem"}} title={{i18n "post.expand_collapse"}}>
|
||||
<a href class="collapse-item" onclick={{action "toggleItem"}} title={{i18n "post.expand_collapse"}}>
|
||||
{{d-icon "chevron-up"}}
|
||||
</a>
|
||||
{{else}}
|
||||
<a class="expand-item" onclick={{action "toggleItem"}} title={{i18n "post.expand_collapse"}}>
|
||||
<a href class="expand-item" onclick={{action "toggleItem"}} title={{i18n "post.expand_collapse"}}>
|
||||
{{d-icon "chevron-down"}}
|
||||
</a>
|
||||
{{/if}}
|
||||
|
|
|
@ -33,13 +33,12 @@
|
|||
|
||||
<td>{{bound-date log.created_at}}</td>
|
||||
|
||||
<td {{action "toggleDetails"}} class="group-manage-logs-expand-details">
|
||||
<td class="group-manage-logs-expand-details">
|
||||
{{#if log.prev_value}}
|
||||
{{#if expandDetails}}
|
||||
{{d-icon 'ellipsis-v'}}
|
||||
{{else}}
|
||||
{{d-icon 'ellipsis-h'}}
|
||||
{{/if}}
|
||||
{{d-button
|
||||
action=(action "toggleDetails")
|
||||
icon=(if expandDetails "angle-up" "angle-down")
|
||||
}}
|
||||
{{/if}}
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -1 +1,9 @@
|
|||
<a href={{member.adminPath}}>{{avatar member imageSize="small"}}</a> {{member.username}} {{#unless automatic}}<a class='remove' {{action "remove"}}>{{d-icon "times"}}</a>{{/unless}}
|
||||
<a href={{member.adminPath}}>
|
||||
{{avatar member imageSize="small"}}
|
||||
</a>
|
||||
<span>{{member.username}}</span>
|
||||
{{#unless automatic}}
|
||||
<a href class='remove' {{action "remove"}}>
|
||||
{{d-icon "times"}}
|
||||
</a>
|
||||
{{/unless}}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
{{/if}}
|
||||
{{#if show}}
|
||||
<div class="location-box">
|
||||
<a class="close pull-right" {{action "hide"}}>{{d-icon "times"}}</a>
|
||||
<a href class="close pull-right" {{action "hide"}}>{{d-icon "times"}}</a>
|
||||
{{#if copied}}
|
||||
{{d-button class="btn-hover pull-right" icon="copy" label="ip_lookup.copied"}}
|
||||
{{else}}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<div class='flagged-post-header'>
|
||||
{{reviewable-topic-link reviewable=reviewable tagName=''}}
|
||||
{{#if hasEdits}}
|
||||
<a {{action "showEditHistory"}}
|
||||
<a href {{action "showEditHistory"}}
|
||||
class="has-edits {{historyClass}}"
|
||||
title="{{i18n "post.last_edited_on"}} {{editedDate}}">
|
||||
{{d-icon "pencil-alt"}}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<span class='status'>
|
||||
{{reviewable-status reviewable.status}}
|
||||
</span>
|
||||
<a {{action "explainReviewable" reviewable}} class='explain' title={{i18n "review.explain.why"}}>
|
||||
<a href {{action "explainReviewable" reviewable}} class='explain' title={{i18n "review.explain.why"}}>
|
||||
{{d-icon "question-circle"}}
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<div class="buttons">
|
||||
{{d-button action=(route-action "showCreateAccount") label="signup_cta.sign_up" icon="check" class="btn-primary"}}
|
||||
{{d-button action=(action "hideForSession") label="signup_cta.hide_session" class="no-icon"}}
|
||||
<a {{action "neverShow"}}>{{i18n "signup_cta.hide_forever"}}</a>
|
||||
<a href {{action "neverShow"}}>{{i18n "signup_cta.hide_forever"}}</a>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="clearfix"></div>
|
||||
|
|
|
@ -38,10 +38,10 @@
|
|||
<div class='tag-box'>
|
||||
{{discourse-tag tag.id pmOnly=tag.pmOnly tagName="div"}}
|
||||
{{#if editSynonymsMode}}
|
||||
<a {{action "unlinkSynonym" tag}} class="unlink-synonym">
|
||||
<a href {{action "unlinkSynonym" tag}} class="unlink-synonym">
|
||||
{{d-icon "unlink" title="tagging.remove_synonym"}}
|
||||
</a>
|
||||
<a {{action "deleteSynonym" tag}} class="delete-synonym">
|
||||
<a href {{action "deleteSynonym" tag}} class="delete-synonym">
|
||||
{{d-icon "far-trash-alt" title="tagging.delete_tag"}}
|
||||
</a>
|
||||
{{/if}}
|
||||
|
|
|
@ -196,7 +196,7 @@
|
|||
</a>
|
||||
{{/if}}
|
||||
|
||||
<a class="btn btn-default no-text mobile-preview" title="{{i18n 'composer.show_preview'}}" {{action "togglePreview"}}>
|
||||
<a href class="btn btn-default no-text mobile-preview" title="{{i18n 'composer.show_preview'}}" {{action "togglePreview"}}>
|
||||
{{d-icon "desktop"}}
|
||||
</a>
|
||||
|
||||
|
|
|
@ -44,11 +44,9 @@
|
|||
{{else}}
|
||||
{{#if topicTrackingState.hasIncoming}}
|
||||
<div class="show-more {{if hasTopics 'has-topics'}}">
|
||||
<div class='alert alert-info clickable' {{action "showInserted"}}>
|
||||
<a tabindex="0" href="" {{action "showInserted"}}>
|
||||
{{count-i18n key="topic_count_" suffix=topicTrackingState.filter count=topicTrackingState.incomingCount}}
|
||||
</a>
|
||||
</div>
|
||||
<a class='alert alert-info clickable' tabindex="0" href {{action "showInserted"}}>
|
||||
{{count-i18n key="topic_count_" suffix=topicTrackingState.filter count=topicTrackingState.incomingCount}}
|
||||
</a>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
|
|
@ -41,8 +41,8 @@
|
|||
|
||||
{{#if bulkSelectEnabled}}
|
||||
<div class='fps-select'>
|
||||
<a {{action "selectAll"}}>{{i18n "search.select_all"}}</a>
|
||||
<a {{action "clearAll"}}>{{i18n "search.clear_all"}}</a>
|
||||
<a href {{action "selectAll"}}>{{i18n "search.select_all"}}</a>
|
||||
<a href {{action "clearAll"}}>{{i18n "search.clear_all"}}</a>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{{#conditional-loading-spinner condition=loading}}
|
||||
{{#if hasIncoming}}
|
||||
<div class="show-mores">
|
||||
<div class='alert alert-info clickable' {{action showInserted}}>
|
||||
<a href class='alert alert-info clickable' {{action showInserted}}>
|
||||
{{count-i18n key="topic_count_" suffix="latest" count=incomingCount}}
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
|||
{{topic-status topic=t}}
|
||||
{{topic-link t}}
|
||||
{{raw "list/unread-indicator" includeUnreadIndicator=showUnreadIndicator
|
||||
topicId=t.id
|
||||
topicId=t.id
|
||||
unreadClass=(if t.unread_by_group_member "" "read")}}
|
||||
{{#if t.unseen}}
|
||||
<span class="badge-notification new-topic"></span>
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
{{#if selectedHtml}}
|
||||
<li><a class='expander' {{action 'toggleExpanded'}}>{{{selectedHtml}}}
|
||||
<li>
|
||||
<a href class='expander' {{action 'toggleExpanded'}}>
|
||||
<span>{{{selectedHtml}}}</span>
|
||||
{{d-icon "caret-down"}}
|
||||
</a></li>
|
||||
</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
<ul class='drop {{if expanded 'expanded'}}'>
|
||||
{{yield}}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<li class='navigation-toggle'>
|
||||
<a {{action "toggleDrop"}} class='toggle-link'>
|
||||
<a href {{action "toggleDrop"}} class='toggle-link'>
|
||||
{{selectedNavItem.displayName}}
|
||||
{{d-icon "caret-down"}}
|
||||
</a>
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
</div>
|
||||
{{else}}
|
||||
{{#if topicTrackingState.hasIncoming}}
|
||||
<div class='alert alert-info clickable' {{action "showInserted"}}>
|
||||
<a href class='alert alert-info clickable' {{action "showInserted"}}>
|
||||
{{count-i18n key="topic_count_" suffix=topicTrackingState.filter count=topicTrackingState.incomingCount}}
|
||||
</div>
|
||||
</a>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<a id="forgot-password-link" {{action "showForgotPassword"}}>{{i18n 'forgot_password.action'}}</a>
|
||||
<a href id="forgot-password-link" {{action "showForgotPassword"}}>{{i18n 'forgot_password.action'}}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<div>
|
||||
<h3>
|
||||
{{i18n 'user.auth_tokens.latest_post'}}
|
||||
<a {{action "toggleExpanded"}}>{{d-icon (if expanded "caret-up" "caret-down")}}</a>
|
||||
<a href {{action "toggleExpanded"}}>{{d-icon (if expanded "caret-up" "caret-down")}}</a>
|
||||
</h3>
|
||||
|
||||
{{#if expanded}}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
{{#if siteSettings.selectable_avatars_enabled}}
|
||||
<div class="selectable-avatars">
|
||||
{{#each selectableAvatars as |avatar|}}
|
||||
<div class="selectable-avatar" {{action "selectAvatar" avatar}}>
|
||||
<a href class="selectable-avatar" {{action "selectAvatar" avatar}}>
|
||||
{{bound-avatar-template avatar "huge"}}
|
||||
</div>
|
||||
</a>
|
||||
{{/each}}
|
||||
</div>
|
||||
{{else}}
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
{{/if}}
|
||||
|
||||
<div class="">
|
||||
<a {{action 'cancel'}}>{{i18n 'cancel'}}</a>
|
||||
<a href {{action 'cancel'}}>{{i18n 'cancel'}}</a>
|
||||
</div>
|
||||
{{else}}
|
||||
<form class="form-vertical group-bulk-add">
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
<tr>
|
||||
<td><label for='login-account-password'>{{i18n 'login.password'}}</label></td>
|
||||
<td>{{password-field value=loginPassword type="password" id="login-account-password" maxlength="200" capsLockOn=capsLockOn disabled=disableLoginFields}}</td>
|
||||
<td><a id="forgot-password-link" {{action "forgotPassword"}}>{{i18n 'forgot_password.action'}}</a></td>
|
||||
<td><a href id="forgot-password-link" {{action "forgotPassword"}}>{{i18n 'forgot_password.action'}}</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
{{#if showSecondFactorKey}}
|
||||
{{secondFactorKey}}
|
||||
{{else}}
|
||||
<a {{action "showSecondFactorKey"}}>{{i18n 'user.second_factor.show_key_description'}}</a>
|
||||
<a href {{action "showSecondFactorKey"}}>{{i18n 'user.second_factor.show_key_description'}}</a>
|
||||
{{/if}}
|
||||
</p>
|
||||
</div>
|
||||
|
|
|
@ -195,7 +195,7 @@
|
|||
</div>
|
||||
|
||||
{{#if canShowAllAuthTokens}}
|
||||
<a {{action "toggleShowAllAuthTokens"}}>
|
||||
<a href {{action "toggleShowAllAuthTokens"}}>
|
||||
{{#if showAllAuthTokens}}
|
||||
{{d-icon "caret-up"}} {{i18n 'user.auth_tokens.show_few'}}
|
||||
{{else}}
|
||||
|
@ -204,7 +204,7 @@
|
|||
</a>
|
||||
{{/if}}
|
||||
|
||||
<a {{action "revokeAuthToken"}} class="pull-right text-danger">{{d-icon "sign-out-alt"}} {{i18n 'user.auth_tokens.log_out_all'}}</a>
|
||||
<a href {{action "revokeAuthToken"}} class="pull-right text-danger">{{d-icon "sign-out-alt"}} {{i18n 'user.auth_tokens.log_out_all'}}</a>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
|
||||
<div class='tag-sort-options'>
|
||||
{{i18n "tagging.sort_by"}}
|
||||
<span class="tag-sort-count {{if sortedByCount 'active'}}"><a {{action "sortByCount"}}>{{i18n "tagging.sort_by_count"}}</a></span>
|
||||
<span class="tag-sort-name {{if sortedByName 'active'}}"><a {{action "sortById"}}>{{i18n "tagging.sort_by_name"}}</a></span>
|
||||
<span class="tag-sort-count {{if sortedByCount 'active'}}"><a href {{action "sortByCount"}}>{{i18n "tagging.sort_by_count"}}</a></span>
|
||||
<span class="tag-sort-name {{if sortedByName 'active'}}"><a href {{action "sortById"}}>{{i18n "tagging.sort_by_name"}}</a></span>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
|
|
@ -6,8 +6,16 @@
|
|||
|
||||
<div class='tag-sort-options'>
|
||||
{{i18n "tagging.sort_by"}}
|
||||
<span class="tag-sort-count {{if sortedByCount 'active'}}"><a {{action "sortByCount"}}>{{i18n "tagging.sort_by_count"}}</a></span>
|
||||
<span class="tag-sort-name {{if sortedByName 'active'}}"><a {{action "sortById"}}>{{i18n "tagging.sort_by_name"}}</a></span>
|
||||
<span class="tag-sort-count {{if sortedByCount 'active'}}">
|
||||
<a href {{action "sortByCount"}}>
|
||||
{{i18n "tagging.sort_by_count"}}
|
||||
</a>
|
||||
</span>
|
||||
<span class="tag-sort-name {{if sortedByName 'active'}}">
|
||||
<a href {{action "sortById"}}>
|
||||
{{i18n "tagging.sort_by_name"}}
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
{{/if}}
|
||||
{{#if model.number_of_suspensions}}
|
||||
<div>
|
||||
<a {{action "showSuspensions"}}>
|
||||
<a href {{action "showSuspensions"}}>
|
||||
<span class="suspensions">{{model.number_of_suspensions}}</span>{{i18n 'user.staff_counters.suspensions'}}
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
@ -956,6 +956,11 @@ table#user-badges {
|
|||
margin-right: 20px;
|
||||
}
|
||||
|
||||
a.inline-editable-field {
|
||||
color: $primary;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
// Styles for subtabs in admin
|
||||
@import "common/admin/dashboard";
|
||||
@import "common/admin/settings";
|
||||
|
|
|
@ -186,26 +186,20 @@
|
|||
border-bottom: 1px solid $primary-low;
|
||||
border-top: 1px solid $primary-low;
|
||||
border-right: 1px solid $primary-low;
|
||||
display: flex;
|
||||
|
||||
.tab {
|
||||
display: inline-block;
|
||||
padding: 10px;
|
||||
padding: 1em;
|
||||
width: 50%;
|
||||
box-sizing: border-box;
|
||||
text-align: center;
|
||||
border-left: 1px solid $primary-low;
|
||||
|
||||
&.active {
|
||||
font-weight: bold;
|
||||
color: $secondary;
|
||||
background: $danger;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
&:not(.active) {
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
background-color: $primary-very-low;
|
||||
}
|
||||
&:last-child {
|
||||
border-left: 1px solid $primary-low;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -297,6 +291,7 @@
|
|||
|
||||
.others-count,
|
||||
.others-count:hover {
|
||||
color: $primary-high;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,3 +31,7 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
a.alert.clickable {
|
||||
display: flex;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue