DEV: Use `class` attribute instead of `@class` arg (#24804)
This commit is contained in:
parent
86b9e784dc
commit
41942357ed
|
@ -6,15 +6,15 @@
|
|||
<ComboBox
|
||||
@content={{this.reasons}}
|
||||
@value={{this.selectedReason}}
|
||||
@class="suspend-reason"
|
||||
@onChange={{this.setSelectedReason}}
|
||||
class="suspend-reason"
|
||||
/>
|
||||
|
||||
{{#if this.isCustomReason}}
|
||||
<TextField
|
||||
@value={{this.customReason}}
|
||||
@class="suspend-reason"
|
||||
@onChange={{this.setCustomReason}}
|
||||
class="suspend-reason"
|
||||
/>
|
||||
{{/if}}
|
||||
{{else if (eq @penaltyType "silence")}}
|
||||
|
@ -24,16 +24,16 @@
|
|||
<ComboBox
|
||||
@content={{this.reasons}}
|
||||
@value={{this.selectedReason}}
|
||||
@class="silence-reason"
|
||||
@onChange={{this.setSelectedReason}}
|
||||
class="silence-reason"
|
||||
/>
|
||||
|
||||
{{#if this.isCustomReason}}
|
||||
<TextField
|
||||
@value={{this.customReason}}
|
||||
@class="silence-reason"
|
||||
@onChange={{this.setCustomReason}}
|
||||
@placeholderKey="admin.user.silence_reason_placeholder"
|
||||
class="silence-reason"
|
||||
/>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{{#if this.onlyHex}}<span class="add-on">#</span>{{/if}}<TextField
|
||||
@class="hex-input"
|
||||
@value={{this.hexValue}}
|
||||
@maxlength={{this.maxlength}}
|
||||
@input={{this.onHexInput}}
|
||||
class="hex-input"
|
||||
/>
|
||||
<input
|
||||
class="picker"
|
||||
|
|
|
@ -22,8 +22,8 @@
|
|||
<div class="label">{{i18n "admin.embedding.category"}}</div>
|
||||
<CategoryChooser
|
||||
@value={{this.categoryId}}
|
||||
@class="small"
|
||||
@onChange={{action (mut this.categoryId)}}
|
||||
class="small"
|
||||
/>
|
||||
</td>
|
||||
<td class="editing-controls">
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
<TextField
|
||||
@value={{this.templateName}}
|
||||
@name="template-name"
|
||||
@class="form-templates__form-name-input"
|
||||
@placeholderKey="admin.form_templates.new_template_form.name.placeholder"
|
||||
class="form-templates__form-name-input"
|
||||
/>
|
||||
</div>
|
||||
<div class="control-group form-templates__editor">
|
||||
|
|
|
@ -9,19 +9,19 @@
|
|||
<div class="penalty-duration-controls">
|
||||
{{#if (eq @model.penaltyType "suspend")}}
|
||||
<FutureDateInput
|
||||
@class="suspend-until"
|
||||
@label="admin.user.suspend_duration"
|
||||
@clearable={{false}}
|
||||
@input={{this.penalizeUntil}}
|
||||
@onChangeInput={{action (mut this.penalizeUntil)}}
|
||||
class="suspend-until"
|
||||
/>
|
||||
{{else if (eq @model.penaltyType "silence")}}
|
||||
<FutureDateInput
|
||||
@class="silence-until"
|
||||
@label="admin.user.silence_duration"
|
||||
@clearable={{false}}
|
||||
@input={{this.penalizeUntil}}
|
||||
@onChangeInput={{action (mut this.penalizeUntil)}}
|
||||
class="silence-until"
|
||||
/>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
|
|
@ -5,27 +5,27 @@
|
|||
<TextField
|
||||
@value={{this.url}}
|
||||
@disabled={{this.formSubmitted}}
|
||||
@class="permalink-url"
|
||||
@placeholderKey="admin.permalink.url"
|
||||
@autocorrect="off"
|
||||
@autocapitalize="off"
|
||||
class="permalink-url"
|
||||
/>
|
||||
|
||||
<ComboBox
|
||||
@content={{this.permalinkTypes}}
|
||||
@value={{this.permalinkType}}
|
||||
@onChange={{action (mut this.permalinkType)}}
|
||||
@class="permalink-type"
|
||||
class="permalink-type"
|
||||
/>
|
||||
|
||||
<TextField
|
||||
@value={{this.permalinkTypeValue}}
|
||||
@disabled={{this.formSubmitted}}
|
||||
@class="permalink-destination"
|
||||
@placeholderKey={{this.permalinkTypePlaceholder}}
|
||||
@autocorrect="off"
|
||||
@autocapitalize="off"
|
||||
@keyDown={{this.submitFormOnEnter}}
|
||||
class="permalink-destination"
|
||||
/>
|
||||
|
||||
<DButton
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
<TextField
|
||||
@value={{this.ip_address}}
|
||||
@disabled={{this.formSubmitted}}
|
||||
@class="ip-address-input"
|
||||
@placeholderKey="admin.logs.screened_ips.form.ip_address"
|
||||
@autocorrect="off"
|
||||
@autocapitalize="off"
|
||||
class="ip-address-input"
|
||||
/>
|
||||
|
||||
<ComboBox
|
||||
|
|
|
@ -26,8 +26,8 @@
|
|||
<div class="value">
|
||||
<TextField
|
||||
@value={{this.newKey}}
|
||||
@class="new-value-input key"
|
||||
@placeholder={{this.setting.placeholder.key}}
|
||||
class="new-value-input key"
|
||||
/>
|
||||
<Input
|
||||
@type="password"
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
</label>
|
||||
<TextField
|
||||
@value={{this.reason}}
|
||||
@class="silence-reason"
|
||||
@placeholderKey="admin.user.silence_reason_placeholder"
|
||||
class="silence-reason"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
@id="watched-word"
|
||||
@value={{this.word}}
|
||||
@disabled={{this.formSubmitted}}
|
||||
@class="watched-word-input-field"
|
||||
@autocorrect="off"
|
||||
@autocapitalize="off"
|
||||
@placeholderKey={{this.placeholderKey}}
|
||||
@title={{i18n this.placeholderKey}}
|
||||
class="watched-word-input-field"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
@ -21,10 +21,10 @@
|
|||
@id="watched-replacement"
|
||||
@value={{this.replacement}}
|
||||
@disabled={{this.formSubmitted}}
|
||||
@class="watched-word-input-field"
|
||||
@autocorrect="off"
|
||||
@autocapitalize="off"
|
||||
@placeholderKey="admin.watched_words.form.replace_placeholder"
|
||||
class="watched-word-input-field"
|
||||
/>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
@ -36,11 +36,11 @@
|
|||
}}</label>
|
||||
<TagChooser
|
||||
@id="watched-tag"
|
||||
@class="watched-word-input-field"
|
||||
@tags={{this.selectedTags}}
|
||||
@onChange={{this.changeSelectedTags}}
|
||||
@everyTag={{true}}
|
||||
@options={{hash allowAny=true disabled=this.formSubmitted}}
|
||||
class="watched-word-input-field"
|
||||
/>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
@ -54,10 +54,10 @@
|
|||
@id="watched-link"
|
||||
@value={{this.replacement}}
|
||||
@disabled={{this.formSubmitted}}
|
||||
@class="watched-word-input-field"
|
||||
@autocorrect="off"
|
||||
@autocapitalize="off"
|
||||
@placeholderKey="admin.watched_words.form.link_placeholder"
|
||||
class="watched-word-input-field"
|
||||
/>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
@type="badge_image"
|
||||
@onUploadDone={{action "setImage"}}
|
||||
@onUploadDeleted={{action "removeImage"}}
|
||||
@class="no-repeat contain-image"
|
||||
class="no-repeat contain-image"
|
||||
/>
|
||||
<div class="control-instructions">
|
||||
<p class="help">{{i18n "admin.badges.image_help"}}</p>
|
||||
|
@ -98,7 +98,7 @@
|
|||
@name="badge_grouping_id"
|
||||
@value={{this.buffered.badge_grouping_id}}
|
||||
@content={{this.badgeGroupings}}
|
||||
@class="badge-selector"
|
||||
class="badge-selector"
|
||||
@nameProperty="name"
|
||||
@onChange={{action (mut this.buffered.badge_grouping_id)}}
|
||||
/>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<div class="color-scheme show-current-style">
|
||||
<div class="admin-container">
|
||||
<h1>{{#if this.model.theme_id}}{{this.model.name}}{{else}}<TextField
|
||||
@class="style-name"
|
||||
@value={{this.model.name}}
|
||||
class="style-name"
|
||||
/>{{/if}}</h1>
|
||||
<div class="controls">
|
||||
{{#unless this.model.theme_id}}
|
||||
|
|
|
@ -318,7 +318,7 @@
|
|||
<ThemeSettingRelativesSelector
|
||||
@setting={{this.relativesSelectorSettingsForComponent}}
|
||||
@model={{this.model}}
|
||||
@class="theme-setting"
|
||||
class="theme-setting"
|
||||
/>
|
||||
</div>
|
||||
</section>
|
||||
|
@ -328,7 +328,7 @@
|
|||
<ThemeSettingRelativesSelector
|
||||
@setting={{this.relativesSelectorSettingsForTheme}}
|
||||
@model={{this.model}}
|
||||
@class="theme-setting"
|
||||
class="theme-setting"
|
||||
/>
|
||||
</div>
|
||||
</section>
|
||||
|
@ -430,7 +430,7 @@
|
|||
<ThemeSettingEditor
|
||||
@setting={{setting}}
|
||||
@model={{this.model}}
|
||||
@class="theme-setting control-unit"
|
||||
class="theme-setting control-unit"
|
||||
/>
|
||||
{{/each}}
|
||||
</section>
|
||||
|
@ -449,7 +449,7 @@
|
|||
<ThemeTranslation
|
||||
@translation={{translation}}
|
||||
@model={{this.model}}
|
||||
@class="theme-translation"
|
||||
class="theme-translation"
|
||||
/>
|
||||
{{/each}}
|
||||
</section>
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
<div class="filter-screened-ip-address inline-form">
|
||||
<TextField
|
||||
@value={{this.filter}}
|
||||
@class="ip-address-input"
|
||||
@placeholderKey="admin.logs.screened_ips.form.filter"
|
||||
@autocorrect="off"
|
||||
@autocapitalize="off"
|
||||
class="ip-address-input"
|
||||
/>
|
||||
<DButton
|
||||
@action={{this.exportScreenedIpList}}
|
||||
|
|
|
@ -9,10 +9,10 @@
|
|||
<div class="permalink-search">
|
||||
<TextField
|
||||
@value={{this.filter}}
|
||||
@class="url-input"
|
||||
@placeholderKey="admin.permalink.form.filter"
|
||||
@autocorrect="off"
|
||||
@autocapitalize="off"
|
||||
class="url-input"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<div class="admin-controls">
|
||||
<HorizontalOverflowNav @className="main-nav nav plugin-nav">
|
||||
<HorizontalOverflowNav class="main-nav nav plugin-nav">
|
||||
<NavItem @route="adminPlugins.index" @label="admin.plugins.title" />
|
||||
{{#each this.adminRoutes as |route|}}
|
||||
<NavItem @route={{route.full_location}} @label={{route.label}} />
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
<ComboBox
|
||||
@content={{this.searchTypeOptions}}
|
||||
@value={{this.searchType}}
|
||||
@class="search-logs-filter"
|
||||
@onChange={{action (mut this.searchType)}}
|
||||
class="search-logs-filter"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
<ComboBox
|
||||
@content={{this.searchTypeOptions}}
|
||||
@value={{this.searchType}}
|
||||
@class="search-logs-filter"
|
||||
@onChange={{action (mut this.searchType)}}
|
||||
class="search-logs-filter"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
@id="setting-filter"
|
||||
@value={{this.filter}}
|
||||
@placeholderKey="type_to_filter"
|
||||
@class="no-blur"
|
||||
class="no-blur"
|
||||
/>
|
||||
<DButton
|
||||
@action={{this.clearFilter}}
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<ExpandingTextArea
|
||||
@value={{this.buffered.value}}
|
||||
@rows="1"
|
||||
@class="site-text-value"
|
||||
class="site-text-value"
|
||||
/>
|
||||
|
||||
{{#if this.siteText.has_interpolation_keys}}
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
<TextField
|
||||
@value={{this.q}}
|
||||
@placeholderKey="admin.site_text.search"
|
||||
@class="no-blur site-text-search"
|
||||
@autofocus="true"
|
||||
@key-up={{this.search}}
|
||||
class="no-blur site-text-search"
|
||||
/>
|
||||
|
||||
<div class="reseed">
|
||||
|
@ -27,8 +27,8 @@
|
|||
@content={{this.availableLocales}}
|
||||
@value={{this.locale}}
|
||||
@onChange={{this.updateLocale}}
|
||||
@class="locale-search"
|
||||
@options={{hash filterable=true}}
|
||||
class="locale-search"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -27,9 +27,9 @@
|
|||
/>
|
||||
</div>
|
||||
<LoadMore
|
||||
@class="users-list-container"
|
||||
@selector=".directory-table .directory-table__cell"
|
||||
@action={{action "loadMore"}}
|
||||
class="users-list-container"
|
||||
>
|
||||
{{#if this.model}}
|
||||
<ResponsiveTable
|
||||
|
@ -46,24 +46,24 @@
|
|||
>
|
||||
<:header>
|
||||
<TableHeaderToggle
|
||||
@class="directory-table__column-header--username"
|
||||
@field="username"
|
||||
@labelKey="username"
|
||||
@order={{this.order}}
|
||||
@asc={{this.asc}}
|
||||
@automatic={{true}}
|
||||
class="directory-table__column-header--username"
|
||||
/>
|
||||
<TableHeaderToggle
|
||||
@class={{if
|
||||
this.showEmails
|
||||
"directory-table__column-header--email"
|
||||
"hidden"
|
||||
}}
|
||||
@field="email"
|
||||
@labelKey="email"
|
||||
@order={{this.order}}
|
||||
@asc={{this.asc}}
|
||||
@automatic={{true}}
|
||||
class={{if
|
||||
this.showEmails
|
||||
"directory-table__column-header--email"
|
||||
"hidden"
|
||||
}}
|
||||
/>
|
||||
<TableHeaderToggle
|
||||
@field="last_emailed"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<TextField
|
||||
@value={{this.filter}}
|
||||
@placeholderKey="admin.watched_words.search"
|
||||
@class="no-blur"
|
||||
class="no-blur"
|
||||
/>
|
||||
<DButton
|
||||
@action={{this.clearFilter}}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<CategoriesTopicList
|
||||
@topics={{this.topics}}
|
||||
@filter="latest"
|
||||
@class="latest-topic-list"
|
||||
class="latest-topic-list"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<CategoriesTopicList
|
||||
@topics={{this.topics}}
|
||||
@filter="top"
|
||||
@class="top-topic-list"
|
||||
class="top-topic-list"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
@value={{this.category.name}}
|
||||
@placeholderKey="category.name_placeholder"
|
||||
@maxlength="50"
|
||||
@class="category-name"
|
||||
class="category-name"
|
||||
/>
|
||||
</section>
|
||||
{{/unless}}
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
@onClick={{this.composer.displayEditReason}}
|
||||
@showInput={{this.composer.showEditReason}}
|
||||
@icon="info-circle"
|
||||
@class="display-edit-reason"
|
||||
class="display-edit-reason"
|
||||
>
|
||||
<TextField
|
||||
@value={{this.composer.editReason}}
|
||||
|
@ -146,7 +146,7 @@
|
|||
@recipients={{this.composer.model.targetRecipients}}
|
||||
@hasGroups={{this.composer.model.hasTargetGroups}}
|
||||
@focusTarget={{this.composer.focusTarget}}
|
||||
@class={{concat-class
|
||||
class={{concat-class
|
||||
"users-input"
|
||||
(if this.composer.showWarning "can-warn")
|
||||
}}
|
||||
|
@ -397,7 +397,7 @@
|
|||
@action={{this.composer.togglePreview}}
|
||||
@translatedTitle={{this.composer.toggleText}}
|
||||
@icon="angle-double-left"
|
||||
@class={{concat-class
|
||||
class={{concat-class
|
||||
"btn-flat btn-mini-toggle toggle-preview"
|
||||
(unless this.composer.showPreview "active")
|
||||
}}
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
{{#if this.showFormTemplateForm}}
|
||||
{{#if (gt @formTemplateIds.length 1)}}
|
||||
<FormTemplateChooser
|
||||
@class="composer-select-form-template"
|
||||
@filteredIds={{@formTemplateIds}}
|
||||
@value={{this.selectedFormTemplateId}}
|
||||
@onChange={{this.updateSelectedFormTemplateId}}
|
||||
@options={{hash maximum=1}}
|
||||
class="composer-select-form-template"
|
||||
/>
|
||||
{{/if}}
|
||||
<form id="form-template-form">
|
||||
|
@ -33,10 +33,10 @@
|
|||
@content={{this.popupMenuOptions}}
|
||||
@onChange={{this.onPopupMenuAction}}
|
||||
@onOpen={{action b.action b}}
|
||||
@class={{b.className}}
|
||||
@tabindex={{-1}}
|
||||
@onKeydown={{this.rovingButtonBar}}
|
||||
@options={{hash icon=b.icon focusAfterOnChange=false}}
|
||||
class={{b.className}}
|
||||
/>
|
||||
{{else}}
|
||||
<DButton
|
||||
|
@ -60,13 +60,13 @@
|
|||
@autocomplete="off"
|
||||
@tabindex={{this.tabindex}}
|
||||
@value={{this.value}}
|
||||
@class="d-editor-input"
|
||||
@placeholder={{this.placeholderTranslated}}
|
||||
@aria-label={{this.placeholderTranslated}}
|
||||
@disabled={{this.disabled}}
|
||||
@input={{this.change}}
|
||||
@focusIn={{action "focusIn"}}
|
||||
@focusOut={{action "focusOut"}}
|
||||
class="d-editor-input"
|
||||
/>
|
||||
<PopupInputTip @validation={{this.validation}} />
|
||||
<PluginOutlet
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
@date={{this.from}}
|
||||
@onChange={{action "onChangeRanges" (hash prop="from")}}
|
||||
@showTime={{this.showFromTime}}
|
||||
@class="from"
|
||||
@placeholder={{i18n "dates.from_placeholder"}}
|
||||
@timezone={{@timezone}}
|
||||
class="from"
|
||||
/>
|
||||
|
||||
<DateTimeInput
|
||||
|
@ -14,7 +14,7 @@
|
|||
@timeFirst={{this.toTimeFirst}}
|
||||
@showTime={{this.showToTime}}
|
||||
@clearable={{this.clearable}}
|
||||
@class="to"
|
||||
@placeholder={{i18n "dates.to_placeholder"}}
|
||||
@timezone={{@timezone}}
|
||||
class="to"
|
||||
/>
|
|
@ -18,13 +18,13 @@
|
|||
|
||||
{{#if @model.sharedDrafts}}
|
||||
<TopicList
|
||||
@class="shared-drafts"
|
||||
@listTitle="shared_drafts.title"
|
||||
@top={{this.top}}
|
||||
@hideCategory="true"
|
||||
@category={{@category}}
|
||||
@topics={{@model.sharedDrafts}}
|
||||
@discoveryList={{true}}
|
||||
class="shared-drafts"
|
||||
/>
|
||||
{{/if}}
|
||||
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
@onUploadDone={{action "logoUploadDone"}}
|
||||
@onUploadDeleted={{action "logoUploadDeleted"}}
|
||||
@type="category_logo"
|
||||
@class="no-repeat contain-image"
|
||||
@id="category-logo-uploader"
|
||||
class="no-repeat contain-image"
|
||||
/>
|
||||
</section>
|
||||
|
||||
|
@ -17,8 +17,8 @@
|
|||
@onUploadDone={{action "logoDarkUploadDone"}}
|
||||
@onUploadDeleted={{action "logoDarkUploadDeleted"}}
|
||||
@type="category_logo_dark"
|
||||
@class="no-repeat contain-image"
|
||||
@id="category-dark-logo-uploader"
|
||||
class="no-repeat contain-image"
|
||||
/>
|
||||
</section>
|
||||
|
||||
|
|
|
@ -36,13 +36,13 @@
|
|||
<div class="add-group">
|
||||
<span class="group-name">
|
||||
<ComboBox
|
||||
@class="available-groups"
|
||||
@content={{this.category.availableGroups}}
|
||||
@onChange={{action "onSelectGroup"}}
|
||||
@value={{null}}
|
||||
@valueProperty={{null}}
|
||||
@nameProperty={{null}}
|
||||
@options={{hash none="category.security_add_group"}}
|
||||
class="available-groups"
|
||||
/>
|
||||
</span>
|
||||
</div>
|
||||
|
|
|
@ -7,9 +7,9 @@
|
|||
<NumberField
|
||||
@number={{this.category.position}}
|
||||
@id="category-position"
|
||||
@class="position-input"
|
||||
@type="number"
|
||||
@min="0"
|
||||
class="position-input"
|
||||
/>
|
||||
</section>
|
||||
{{/if}}
|
||||
|
@ -330,8 +330,8 @@
|
|||
</label>
|
||||
<TextField
|
||||
@id="category-email-in"
|
||||
@class="email-in"
|
||||
@value={{this.category.email_in}}
|
||||
class="email-in"
|
||||
/>
|
||||
|
||||
</section>
|
||||
|
|
|
@ -11,9 +11,9 @@
|
|||
{{#if this.showFormTemplate}}
|
||||
<div class="control-group">
|
||||
<FormTemplateChooser
|
||||
@class="select-category-template"
|
||||
@value={{this.category.form_template_ids}}
|
||||
@onChange={{action (mut this.category.form_template_ids)}}
|
||||
class="select-category-template"
|
||||
/>
|
||||
|
||||
<p class="select-category-template__info desc">
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<form>
|
||||
<div class="control-group">
|
||||
<ComboBox
|
||||
@class="timer-type"
|
||||
@onChange={{this.onChangeStatusType}}
|
||||
@content={{this.timerTypes}}
|
||||
@value={{this.statusType}}
|
||||
class="timer-type"
|
||||
/>
|
||||
</div>
|
||||
{{#if this.publishToCategory}}
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
@onUploadDeleted={{action "removeFlairImage"}}
|
||||
@type="group_flair"
|
||||
@id="group-flair-uploader"
|
||||
@class="no-repeat contain-image"
|
||||
class="no-repeat contain-image"
|
||||
/>
|
||||
<div class="control-instructions">
|
||||
{{i18n "groups.flair_upload_description"}}
|
||||
|
@ -54,9 +54,9 @@
|
|||
|
||||
<TextField
|
||||
@name="flair_bg_color"
|
||||
@class="group-flair-bg-color input-xxlarge"
|
||||
@value={{this.model.flair_bg_color}}
|
||||
@placeholderKey="groups.flair_bg_color_placeholder"
|
||||
class="group-flair-bg-color input-xxlarge"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
@ -68,9 +68,9 @@
|
|||
|
||||
<TextField
|
||||
@name="flair_color"
|
||||
@class="group-flair-color input-xxlarge"
|
||||
@value={{this.model.flair_color}}
|
||||
@placeholderKey="groups.flair_color_placeholder"
|
||||
class="group-flair-color input-xxlarge"
|
||||
/>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<MobileNav @class="group-nav" @desktopClass="nav nav-pills">
|
||||
<MobileNav class="group-nav" @desktopClass="nav nav-pills">
|
||||
{{#if this.site.mobileView}}
|
||||
<li>
|
||||
<LinkTo @route="groups.index">
|
||||
|
|
|
@ -12,9 +12,9 @@
|
|||
@valueProperty="value"
|
||||
@value={{this.model.visibility_level}}
|
||||
@content={{this.visibilityLevelOptions}}
|
||||
@class="groups-form-visibility-level"
|
||||
@onChange={{action (mut this.model.visibility_level)}}
|
||||
@options={{hash castInteger=true}}
|
||||
class="groups-form-visibility-level"
|
||||
/>
|
||||
|
||||
<div class="control-instructions">
|
||||
|
@ -32,8 +32,8 @@
|
|||
@valueProperty="value"
|
||||
@value={{this.membersVisibilityLevel}}
|
||||
@content={{this.visibilityLevelOptions}}
|
||||
@class="groups-form-members-visibility-level"
|
||||
@onChange={{action (mut this.model.members_visibility_level)}}
|
||||
class="groups-form-members-visibility-level"
|
||||
/>
|
||||
|
||||
{{#if this.membersVisibilityPrivate}}
|
||||
|
@ -57,8 +57,8 @@
|
|||
@valueProperty="value"
|
||||
@value={{this.mentionableLevel}}
|
||||
@content={{this.aliasLevelOptions}}
|
||||
@class="groups-form-mentionable-level"
|
||||
@onChange={{action (mut this.model.mentionable_level)}}
|
||||
class="groups-form-mentionable-level"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
@ -70,8 +70,8 @@
|
|||
@valueProperty="value"
|
||||
@value={{this.messageableLevel}}
|
||||
@content={{this.aliasLevelOptions}}
|
||||
@class="groups-form-messageable-level"
|
||||
@onChange={{action (mut this.model.messageable_level)}}
|
||||
class="groups-form-messageable-level"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
@ -100,9 +100,9 @@
|
|||
|
||||
<TextField
|
||||
@name="incoming_email"
|
||||
@class="input-xxlarge groups-form-incoming-email"
|
||||
@value={{this.model.incoming_email}}
|
||||
@placeholderKey="admin.groups.manage.interaction.incoming_email_placeholder"
|
||||
class="input-xxlarge groups-form-incoming-email"
|
||||
/>
|
||||
|
||||
<DTooltip
|
||||
|
@ -129,9 +129,9 @@
|
|||
|
||||
<NotificationsButton
|
||||
@value={{this.defaultNotificationLevel}}
|
||||
@class="groups-form-default-notification-level"
|
||||
@options={{hash i18nPrefix="groups.notifications"}}
|
||||
@onChange={{action (mut this.model.default_notification_level)}}
|
||||
class="groups-form-default-notification-level"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -43,8 +43,8 @@
|
|||
|
||||
<ExpandingTextArea
|
||||
@name="membership-request-template"
|
||||
@class="group-form-membership-request-template input-xxlarge"
|
||||
@value={{this.model.membership_request_template}}
|
||||
class="group-form-membership-request-template input-xxlarge"
|
||||
/>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
@ -64,7 +64,6 @@
|
|||
|
||||
<ListSetting
|
||||
@name="automatic_membership"
|
||||
@class="group-form-automatic-membership-automatic"
|
||||
@value={{this.emailDomains}}
|
||||
@choices={{this.emailDomains}}
|
||||
@settingName="name"
|
||||
|
@ -72,6 +71,7 @@
|
|||
@valueProperty={{null}}
|
||||
@onChange={{action "onChangeEmailDomainsSetting"}}
|
||||
@options={{hash allowAny=true}}
|
||||
class="group-form-automatic-membership-automatic"
|
||||
/>
|
||||
|
||||
{{#if this.showAssociatedGroups}}
|
||||
|
@ -83,13 +83,13 @@
|
|||
|
||||
<ListSetting
|
||||
@name="automatic_membership_associated_groups"
|
||||
@class="group-form-automatic-membership-associated-groups"
|
||||
@value={{this.model.associatedGroupIds}}
|
||||
@choices={{this.associatedGroups}}
|
||||
@settingName="name"
|
||||
@nameProperty="label"
|
||||
@valueProperty="id"
|
||||
@onChange={{action (mut this.model.associated_group_ids)}}
|
||||
class="group-form-automatic-membership-associated-groups"
|
||||
/>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
@ -115,8 +115,8 @@
|
|||
@valueProperty="value"
|
||||
@value={{this.groupTrustLevel}}
|
||||
@content={{this.trustLevelOptions}}
|
||||
@class="groups-form-grant-trust-level"
|
||||
@onChange={{action (mut this.model.grant_trust_level)}}
|
||||
class="groups-form-grant-trust-level"
|
||||
/>
|
||||
<label>
|
||||
<Input
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
|
||||
<TextField
|
||||
@name="name"
|
||||
@class="input-xxlarge group-form-name"
|
||||
@value={{this.nameInput}}
|
||||
@placeholderKey="admin.groups.name_placeholder"
|
||||
class="input-xxlarge group-form-name"
|
||||
/>
|
||||
|
||||
<InputTip @validation={{this.nameValidation}} />
|
||||
|
@ -21,18 +21,15 @@
|
|||
|
||||
<TextField
|
||||
@name="full_name"
|
||||
@class="input-xxlarge group-form-full-name"
|
||||
@value={{this.model.full_name}}
|
||||
class="input-xxlarge group-form-full-name"
|
||||
/>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="bio">{{i18n "groups.bio"}}</label>
|
||||
<DEditor
|
||||
@value={{this.model.bio_raw}}
|
||||
@class="group-form-bio input-xxlarge"
|
||||
/>
|
||||
<DEditor @value={{this.model.bio_raw}} class="group-form-bio input-xxlarge" />
|
||||
</div>
|
||||
|
||||
{{#if this.model.automatic}}
|
||||
|
|
|
@ -3,8 +3,7 @@ import Component from "@ember/component";
|
|||
export default Component.extend({
|
||||
tagName: "iframe",
|
||||
html: null,
|
||||
className: "",
|
||||
classNameBindings: ["html:iframed-html", "className"],
|
||||
classNameBindings: ["html:iframed-html"],
|
||||
sandbox: "allow-same-origin",
|
||||
attributeBindings: ["sandbox:sandbox"],
|
||||
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
<div class="invite-user-input-wrapper">
|
||||
{{#if this.allowExistingMembers}}
|
||||
<EmailGroupUserChooser
|
||||
@class="invite-user-input"
|
||||
@value={{this.invitee}}
|
||||
@onChange={{action "updateInvitee"}}
|
||||
@options={{hash
|
||||
|
@ -33,12 +32,13 @@
|
|||
filterPlaceholder=this.placeholderKey
|
||||
fullWidthWrap=true
|
||||
}}
|
||||
class="invite-user-input"
|
||||
/>
|
||||
{{else}}
|
||||
<TextField
|
||||
@class="email-or-username-input"
|
||||
@value={{this.invitee}}
|
||||
@placeholderKey="topic.invite_reply.email_placeholder"
|
||||
class="email-or-username-input"
|
||||
/>
|
||||
{{/if}}
|
||||
{{#if this.capabilities.hasContactPicker}}
|
||||
|
@ -69,9 +69,9 @@
|
|||
<div class="show-custom-message-control">
|
||||
<label class="instructions">
|
||||
<DiscourseLinkedText
|
||||
@class="optional"
|
||||
@action={{action "showCustomMessageBox"}}
|
||||
@text="invite.custom_message"
|
||||
class="optional"
|
||||
/>
|
||||
</label>
|
||||
{{#if this.hasCustomMessage}}
|
||||
|
|
|
@ -118,9 +118,9 @@
|
|||
@uploadedAvatarTemplate={{this.user.custom_avatar_template}}
|
||||
@uploadedAvatarId={{this.user.custom_avatar_upload_id}}
|
||||
@uploading={{this.uploading}}
|
||||
@class="avatar-uploader"
|
||||
@id="avatar-uploader"
|
||||
@done={{this.uploadComplete}}
|
||||
class="avatar-uploader"
|
||||
/>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
|
@ -36,9 +36,9 @@
|
|||
<ComboBox
|
||||
@content={{this.autoDeletePreferences}}
|
||||
@value={{this.bookmark.autoDeletePreference}}
|
||||
@class="bookmark-option-selector"
|
||||
@id="bookmark-auto-delete-preference"
|
||||
@onChange={{action (mut this.bookmark.autoDeletePreference)}}
|
||||
class="bookmark-option-selector"
|
||||
/>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
|
@ -97,9 +97,9 @@
|
|||
@disabled={{this.nameDisabled}}
|
||||
@value={{this.model.accountName}}
|
||||
@id="new-account-name"
|
||||
@class={{value-entered this.model.accountName}}
|
||||
aria-describedby="fullname-validation"
|
||||
aria-invalid={{this.nameValidation.failed}}
|
||||
class={{value-entered this.model.accountName}}
|
||||
/>
|
||||
<label class="alt-placeholder" for="new-account-name">
|
||||
{{i18n "user.name.title"}}
|
||||
|
@ -133,13 +133,13 @@
|
|||
{{#if this.passwordRequired}}
|
||||
<PasswordField
|
||||
@value={{this.accountPassword}}
|
||||
@class={{value-entered this.accountPassword}}
|
||||
@type={{if this.maskPassword "password" "text"}}
|
||||
@autocomplete="current-password"
|
||||
@capsLockOn={{this.capsLockOn}}
|
||||
aria-describedby="password-validation"
|
||||
aria-invalid={{this.passwordValidation.failed}}
|
||||
id="new-account-password"
|
||||
class={{value-entered this.accountPassword}}
|
||||
/>
|
||||
<label class="alt-placeholder" for="new-account-password">
|
||||
{{i18n "user.password.title"}}
|
||||
|
@ -218,16 +218,13 @@
|
|||
<div class="user-fields">
|
||||
{{#each this.userFields as |f|}}
|
||||
<div class="input-group">
|
||||
{{! adding the value-entered class here to
|
||||
be able to detect if the user field has a value
|
||||
entered }}
|
||||
<UserField
|
||||
{{on "focus" this.userInputFocus}}
|
||||
{{on "focusout" this.userInputFocusOut}}
|
||||
@field={{f.field}}
|
||||
@value={{f.value}}
|
||||
@class={{value-entered f.value}}
|
||||
@validation={{f.validation}}
|
||||
class={{value-entered f.value}}
|
||||
/>
|
||||
</div>
|
||||
{{/each}}
|
||||
|
|
|
@ -112,7 +112,7 @@ export default class DismissNew extends Component {
|
|||
@labelKey={{this.dismissNewTopicsLabel}}
|
||||
@labelCount={{this.countNewTopics}}
|
||||
@checked={{this.dismissTopics}}
|
||||
@class="dismiss-topics"
|
||||
class="dismiss-topics"
|
||||
/>
|
||||
{{/if}}
|
||||
{{#if this.showDismissNewReplies}}
|
||||
|
@ -120,13 +120,13 @@ export default class DismissNew extends Component {
|
|||
@labelKey={{this.dismissNewRepliesLabel}}
|
||||
@labelCount={{this.countNewReplies}}
|
||||
@checked={{this.dismissPosts}}
|
||||
@class="dismiss-posts"
|
||||
class="dismiss-posts"
|
||||
/>
|
||||
{{/if}}
|
||||
<PreferenceCheckbox
|
||||
@labelKey="topics.bulk.dismiss_new_modal.untrack"
|
||||
@checked={{this.untrack}}
|
||||
@class="untrack"
|
||||
class="untrack"
|
||||
/>
|
||||
</p>
|
||||
</:body>
|
||||
|
|
|
@ -7,34 +7,34 @@
|
|||
<:body>
|
||||
<TapTileGrid as |grid|>
|
||||
<TapTile
|
||||
@class="do-not-disturb-tile"
|
||||
@tileId="30"
|
||||
@activeTile={{grid.activeTile}}
|
||||
@onChange={{this.saveDuration}}
|
||||
class="do-not-disturb-tile"
|
||||
>
|
||||
{{i18n "pause_notifications.options.half_hour"}}
|
||||
</TapTile>
|
||||
<TapTile
|
||||
@class="do-not-disturb-tile"
|
||||
@tileId="60"
|
||||
@activeTile={{grid.activeTile}}
|
||||
@onChange={{this.saveDuration}}
|
||||
class="do-not-disturb-tile"
|
||||
>
|
||||
{{i18n "pause_notifications.options.one_hour"}}
|
||||
</TapTile>
|
||||
<TapTile
|
||||
@class="do-not-disturb-tile"
|
||||
@tileId="120"
|
||||
@activeTile={{grid.activeTile}}
|
||||
@onChange={{this.saveDuration}}
|
||||
class="do-not-disturb-tile"
|
||||
>
|
||||
{{i18n "pause_notifications.options.two_hours"}}
|
||||
</TapTile>
|
||||
<TapTile
|
||||
@class="do-not-disturb-tile"
|
||||
@tileId="tomorrow"
|
||||
@activeTile={{grid.activeTile}}
|
||||
@onChange={{this.saveDuration}}
|
||||
class="do-not-disturb-tile"
|
||||
>
|
||||
{{i18n "pause_notifications.options.tomorrow"}}
|
||||
</TapTile>
|
||||
|
|
|
@ -72,9 +72,9 @@
|
|||
</span>
|
||||
|
||||
<LinksRedirect
|
||||
@class="row body-diff"
|
||||
{{did-insert @calculateBodyDiff @bodyDiffHTML}}
|
||||
{{did-update @calculateBodyDiff @bodyDiffHTML}}
|
||||
class="row body-diff"
|
||||
>
|
||||
{{html-safe @bodyDiff}}
|
||||
</LinksRedirect>
|
||||
|
|
|
@ -71,9 +71,9 @@
|
|||
<SecondFactorForm
|
||||
@secondFactorMethod={{@secondFactorMethod}}
|
||||
@secondFactorToken={{@secondFactorToken}}
|
||||
@class={{this.secondFactorClass}}
|
||||
@backupEnabled={{@backupEnabled}}
|
||||
@isLogin={{true}}
|
||||
class={{this.secondFactorClass}}
|
||||
>
|
||||
{{#if @showSecurityKey}}
|
||||
<SecurityKeyForm
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
@onChange={{this.checkSlug}}
|
||||
@onChangeImmediate={{this.startCheckSlug}}
|
||||
@disabled={{this.existing}}
|
||||
@class="publish-slug"
|
||||
class="publish-slug"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -43,10 +43,7 @@
|
|||
<Textarea @value={{this.textPart}} />
|
||||
{{/if}}
|
||||
{{#if (eq this.tab "html_part")}}
|
||||
<IframedHtml
|
||||
@html={{this.htmlPart}}
|
||||
@className="incoming-email-html-part"
|
||||
/>
|
||||
<IframedHtml @html={{this.htmlPart}} class="incoming-email-html-part" />
|
||||
{{/if}}
|
||||
</div>
|
||||
</:body>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
@content={{this.configuredReasons}}
|
||||
@value={{this.reason}}
|
||||
@onChange={{action (mut this.reason)}}
|
||||
@class="revise-and-reject-reviewable__reason"
|
||||
class="revise-and-reject-reviewable__reason"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
@ -47,7 +47,7 @@
|
|||
@name="feedback"
|
||||
@value={{this.feedback}}
|
||||
@onChange={{action (mut this.feedback)}}
|
||||
@class="revise-and-reject-reviewable__feedback"
|
||||
class="revise-and-reject-reviewable__feedback"
|
||||
/>
|
||||
</div>
|
||||
</:body>
|
||||
|
|
|
@ -329,10 +329,10 @@ export default class SpreadsheetEditor extends Component {
|
|||
<:footer>
|
||||
<div class="primary-actions">
|
||||
<DButton
|
||||
@class="btn-insert-table"
|
||||
@label={{this.modalAttributes.insertTable.title}}
|
||||
@icon={{this.modalAttributes.insertTable.icon}}
|
||||
@action={{this.insertTable}}
|
||||
class="btn-insert-table"
|
||||
/>
|
||||
|
||||
<DModalCancel @close={{this.interceptCloseModal}} />
|
||||
|
@ -345,7 +345,7 @@ export default class SpreadsheetEditor extends Component {
|
|||
@icon="info-circle"
|
||||
@title="table_builder.edit.modal.trigger_reason"
|
||||
@action={{this.showEditReasonField}}
|
||||
@class="btn-edit-reason"
|
||||
class="btn-edit-reason"
|
||||
/>
|
||||
{{#if this.showEditReason}}
|
||||
<TextField
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
@content={{navItem}}
|
||||
@filterMode={{this.filterMode}}
|
||||
@category={{this.category}}
|
||||
@class={{concat "nav-item_" navItem.name}}
|
||||
class={{concat "nav-item_" navItem.name}}
|
||||
/>
|
||||
{{/each}}
|
||||
<PluginOutlet
|
||||
|
|
|
@ -61,9 +61,9 @@
|
|||
<CategoryUnread
|
||||
@category={{this.category}}
|
||||
@tagName="div"
|
||||
@class="unread-new"
|
||||
@unreadTopicsCount={{this.unreadTopicsCount}}
|
||||
@newTopicsCount={{this.newTopicsCount}}
|
||||
class="unread-new"
|
||||
/>
|
||||
</td>
|
||||
|
||||
|
|
|
@ -15,9 +15,9 @@
|
|||
@args={{this.outletArgs}}
|
||||
@deprecatedArgs={{@deprecatedArgs}}
|
||||
@outletArgs={{this.outletArgsWithDeprecations}}
|
||||
@class={{c.classicClassNames}}
|
||||
@tagName={{or @connectorTagName ""}}
|
||||
@layout={{c.template}}
|
||||
class={{c.classicClassNames}}
|
||||
/>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
|
@ -39,9 +39,9 @@
|
|||
@args={{this.outletArgs}}
|
||||
@deprecatedArgs={{@deprecatedArgs}}
|
||||
@outletArgs={{this.outletArgsWithDeprecations}}
|
||||
@class={{c.classicClassNames}}
|
||||
@tagName={{or @connectorTagName ""}}
|
||||
@layout={{c.template}}
|
||||
class={{c.classicClassNames}}
|
||||
>{{yield}}</PluginConnector>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
|
|
|
@ -167,7 +167,7 @@ export default class RelativeTimePicker extends Component {
|
|||
@content={{this.intervals}}
|
||||
@value={{this.selectedInterval}}
|
||||
@onChange={{this.onChangeInterval}}
|
||||
@class="relative-time-intervals"
|
||||
class="relative-time-intervals"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
@ -48,7 +48,7 @@ export default class ReviewableBundledAction extends Component {
|
|||
placement=this.placement
|
||||
translatedNone=@bundle.label
|
||||
}}
|
||||
@class={{concatClass
|
||||
class={{concatClass
|
||||
"reviewable-action-dropdown"
|
||||
"btn-icon-text"
|
||||
(dasherize this.first.id)
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
@title="search.clear_recent"
|
||||
@icon="times"
|
||||
@action={{this.clearRecent}}
|
||||
@class="clear-recent-searches"
|
||||
class="clear-recent-searches"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<TrackSelected
|
||||
@selectedList={{this.selected}}
|
||||
@selectedId={{this.post.topic}}
|
||||
@class="bulk-select"
|
||||
class="bulk-select"
|
||||
/>
|
||||
{{/if}}
|
||||
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
<div class="body">
|
||||
<DTextarea
|
||||
@value={{this.shareUrl}}
|
||||
@class="topic-share-url"
|
||||
@aria-label={{i18n "share.url"}}
|
||||
class="topic-share-url"
|
||||
/>
|
||||
|
||||
<div class="sources">
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
{{#each this.section.links as |link|}}
|
||||
<Sidebar::SectionLink
|
||||
@linkName={{link.name}}
|
||||
@class={{link.classNames}}
|
||||
@linkClass={{link.classNames}}
|
||||
@route={{link.route}}
|
||||
@model={{link.model}}
|
||||
@models={{link.models}}
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
@collapsable={{@collapsable}}
|
||||
@headerActions={{this.section.headerActions}}
|
||||
@headerActionsIcon={{this.section.headerActionIcon}}
|
||||
@class={{this.section.dragCss}}
|
||||
@hideSectionHeader={{this.section.hideSectionHeader}}
|
||||
class={{this.section.dragCss}}
|
||||
>
|
||||
{{#each this.section.links as |link|}}
|
||||
{{#if link.externalOrFullReload}}
|
||||
|
@ -18,7 +18,7 @@
|
|||
@prefixValue={{link.prefixValue}}
|
||||
@fullReload={{link.fullReload}}
|
||||
@href={{link.value}}
|
||||
@class={{link.linkDragCss}}
|
||||
@linkClass={{link.linkDragCss}}
|
||||
/>
|
||||
{{else}}
|
||||
<Sidebar::SectionLink
|
||||
|
@ -38,7 +38,7 @@
|
|||
@suffixValue={{link.suffixValue}}
|
||||
@suffixType={{link.suffixType}}
|
||||
@currentWhen={{link.currentWhen}}
|
||||
@class={{link.linkDragCss}}
|
||||
@linkClass={{link.linkDragCss}}
|
||||
/>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
<Sidebar::EditNavigationMenu::Modal
|
||||
@class="sidebar__edit-navigation-menu__categories-modal"
|
||||
@title="sidebar.categories_form_modal.title"
|
||||
@disableSaveButton={{this.saving}}
|
||||
@save={{this.save}}
|
||||
|
@ -18,6 +17,7 @@
|
|||
@filterSelected={{this.filterSelected}}
|
||||
@filterUnselected={{this.filterUnselected}}
|
||||
@closeModal={{@closeModal}}
|
||||
class="sidebar__edit-navigation-menu__categories-modal"
|
||||
>
|
||||
<form class="sidebar-categories-form">
|
||||
{{#if (gt this.filteredCategoriesGroupings.length 0)}}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
<DModal
|
||||
class={{concat-class "sidebar__edit-navigation-menu__modal -large" @class}}
|
||||
@title={{i18n @title}}
|
||||
@closeModal={{@closeModal}}
|
||||
class="sidebar__edit-navigation-menu__modal -large"
|
||||
...attributes
|
||||
>
|
||||
<:belowModalTitle>
|
||||
<p class="sidebar__edit-navigation-menu__deselect-wrapper">
|
||||
|
@ -36,11 +37,11 @@
|
|||
|
||||
<div class="sidebar__edit-navigation-menu__filter-dropdown-wrapper">
|
||||
<DropdownSelectBox
|
||||
@class="sidebar__edit-navigation-menu__filter-dropdown"
|
||||
@value={{this.filterDropdownValue}}
|
||||
@content={{this.filterDropdownContent}}
|
||||
@onChange={{this.onFilterDropdownChange}}
|
||||
@options={{hash showCaret=true disabled=@loading}}
|
||||
class="sidebar__edit-navigation-menu__filter-dropdown"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
<Sidebar::EditNavigationMenu::Modal
|
||||
@class="sidebar__edit-navigation-menu__tags-modal"
|
||||
@title="sidebar.tags_form_modal.title"
|
||||
@saving={{this.saving}}
|
||||
@save={{this.save}}
|
||||
|
@ -17,6 +16,7 @@
|
|||
@filterUnselected={{this.filterUnselected}}
|
||||
@closeModal={{@closeModal}}
|
||||
@loading={{this.tagsLoading}}
|
||||
class="sidebar__edit-navigation-menu__tags-modal"
|
||||
>
|
||||
{{#if this.tagsLoading}}
|
||||
{{loading-spinner size="large"}}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{{#if this.shouldDisplay}}
|
||||
<li
|
||||
class="sidebar-section-link-wrapper"
|
||||
{{did-insert this.didInsert this.args}}
|
||||
data-list-item-name={{@linkName}}
|
||||
...attributes
|
||||
>
|
||||
|
@ -10,9 +9,9 @@
|
|||
href={{@href}}
|
||||
rel="noopener noreferrer"
|
||||
target={{this.target}}
|
||||
class={{this.classNames}}
|
||||
title={{@title}}
|
||||
data-link-name={{@linkName}}
|
||||
class={{this.linkClass}}
|
||||
>
|
||||
<Sidebar::SectionLinkPrefix
|
||||
@prefixType={{@prefixType}}
|
||||
|
@ -28,13 +27,13 @@
|
|||
</a>
|
||||
{{else}}
|
||||
<LinkTo
|
||||
class={{this.classNames}}
|
||||
@route={{@route}}
|
||||
@query={{or @query (hash)}}
|
||||
@models={{this.models}}
|
||||
@current-when={{@currentWhen}}
|
||||
title={{@title}}
|
||||
data-link-name={{@linkName}}
|
||||
class={{this.linkClass}}
|
||||
>
|
||||
|
||||
<Sidebar::SectionLinkPrefix
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import Component from "@glimmer/component";
|
||||
import { inject as service } from "@ember/service";
|
||||
import deprecated from "discourse-common/lib/deprecated";
|
||||
|
||||
/**
|
||||
* Checks if a given string is a valid color hex code.
|
||||
|
@ -19,17 +20,16 @@ export function isHex(input) {
|
|||
export default class SectionLink extends Component {
|
||||
@service currentUser;
|
||||
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.args.didInsert?.();
|
||||
}
|
||||
|
||||
willDestroy() {
|
||||
super.willDestroy(...arguments);
|
||||
this.args.willDestroy?.();
|
||||
}
|
||||
|
||||
didInsert(_element, [args]) {
|
||||
if (args.didInsert) {
|
||||
args.didInsert();
|
||||
}
|
||||
}
|
||||
|
||||
get shouldDisplay() {
|
||||
if (this.args.shouldDisplay === undefined) {
|
||||
return true;
|
||||
|
@ -38,10 +38,19 @@ export default class SectionLink extends Component {
|
|||
return this.args.shouldDisplay;
|
||||
}
|
||||
|
||||
get classNames() {
|
||||
get linkClass() {
|
||||
let classNames = ["sidebar-section-link", "sidebar-row"];
|
||||
|
||||
if (this.args.linkClass) {
|
||||
classNames.push(this.args.linkClass);
|
||||
}
|
||||
|
||||
if (this.args.class) {
|
||||
deprecated("SectionLink's @class arg has been renamed to @linkClass", {
|
||||
id: "discourse.section-link-class-arg",
|
||||
since: "3.2.0.beta4",
|
||||
dropFrom: "3.3.0.beta1",
|
||||
});
|
||||
classNames.push(this.args.class);
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
{{#if this.displaySection}}
|
||||
<div
|
||||
class={{concat-class "sidebar-section-wrapper sidebar-section" @class}}
|
||||
data-section-name={{@sectionName}}
|
||||
class="sidebar-section-wrapper sidebar-section"
|
||||
...attributes
|
||||
>
|
||||
{{#unless @hideSectionHeader}}
|
||||
<div class="sidebar-section-header-wrapper sidebar-row">
|
||||
|
@ -56,7 +57,7 @@
|
|||
}}
|
||||
@content={{@headerActions}}
|
||||
@onChange={{this.handleMultipleHeaderActions}}
|
||||
@class="sidebar-section-header-dropdown"
|
||||
class="sidebar-section-header-dropdown"
|
||||
/>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
|
|
@ -11,12 +11,11 @@
|
|||
@headerLinkText={{i18n "sidebar.sections.messages.header_link_text"}}
|
||||
@collapsable={{@collapsable}}
|
||||
>
|
||||
|
||||
{{#each this.personalMessagesSectionLinks as |personalMessageSectionLink|}}
|
||||
{{#if personalMessageSectionLink.shouldDisplay}}
|
||||
<Sidebar::SectionLink
|
||||
@linkName={{personalMessageSectionLink.name}}
|
||||
@class={{personalMessageSectionLink.class}}
|
||||
@linkClass={{personalMessageSectionLink.class}}
|
||||
@route={{personalMessageSectionLink.route}}
|
||||
@model={{personalMessageSectionLink.model}}
|
||||
@prefixType={{personalMessageSectionLink.prefixType}}
|
||||
|
@ -32,7 +31,7 @@
|
|||
{{#if groupMessageSectionLink.shouldDisplay}}
|
||||
<Sidebar::SectionLink
|
||||
@linkName={{groupMessageSectionLink.name}}
|
||||
@class={{groupMessageSectionLink.class}}
|
||||
@linkClass={{groupMessageSectionLink.class}}
|
||||
@route={{groupMessageSectionLink.route}}
|
||||
@prefixType={{groupMessageSectionLink.prefixType}}
|
||||
@prefixValue={{groupMessageSectionLink.prefixValue}}
|
||||
|
@ -43,5 +42,4 @@
|
|||
{{/if}}
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
|
||||
</Sidebar::Section>
|
|
@ -50,12 +50,12 @@
|
|||
<section class="group-visibility">
|
||||
<div class="group-visibility-option">
|
||||
<RadioButton
|
||||
@class="tag-permissions-choice"
|
||||
@name="tag-permissions-choice"
|
||||
@value="public"
|
||||
@id="public-permission"
|
||||
@selection={{this.buffered.permissionName}}
|
||||
@onChange={{action "setPermissionsType"}}
|
||||
class="tag-permissions-choice"
|
||||
/>
|
||||
|
||||
<label class="radio" for="public-permission">
|
||||
|
@ -64,12 +64,12 @@
|
|||
</div>
|
||||
<div class="group-visibility-option">
|
||||
<RadioButton
|
||||
@class="tag-permissions-choice"
|
||||
@name="tag-permissions-choice"
|
||||
@value="visible"
|
||||
@id="visible-permission"
|
||||
@selection={{this.buffered.permissionName}}
|
||||
@onChange={{action "setPermissionsType"}}
|
||||
class="tag-permissions-choice"
|
||||
/>
|
||||
|
||||
<label class="radio" for="visible-permission">
|
||||
|
@ -90,12 +90,12 @@
|
|||
</div>
|
||||
<div class="group-visibility-option">
|
||||
<RadioButton
|
||||
@class="tag-permissions-choice"
|
||||
@name="tag-permissions-choice"
|
||||
@value="private"
|
||||
@id="private-permission"
|
||||
@selection={{this.buffered.permissionName}}
|
||||
@onChange={{action "setPermissionsType"}}
|
||||
class="tag-permissions-choice"
|
||||
/>
|
||||
|
||||
<label class="radio" for="private-permission">
|
||||
|
|
|
@ -45,7 +45,6 @@
|
|||
<DropdownSelectBox
|
||||
@id={{concat "topic-footer-dropdown-" actionable.id}}
|
||||
@value={{actionable.value}}
|
||||
@class={{concat "topic-footer-dropdown " actionable.classNames}}
|
||||
@content={{actionable.content}}
|
||||
@onChange={{action actionable.action}}
|
||||
@options={{hash
|
||||
|
@ -53,6 +52,7 @@
|
|||
none=actionable.noneItem
|
||||
disabled=actionable.disabled
|
||||
}}
|
||||
class={{concat-class "topic-footer-dropdown" actionable.classNames}}
|
||||
/>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
|
|
|
@ -16,8 +16,8 @@ const UserField = <template>
|
|||
<Component
|
||||
@field={{@field}}
|
||||
@value={{@value}}
|
||||
@class={{@class}}
|
||||
@validation={{@validation}}
|
||||
...attributes
|
||||
/>
|
||||
{{/let}}
|
||||
</template>;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<section class="user-navigation user-navigation-primary">
|
||||
<HorizontalOverflowNav
|
||||
@className="main-nav nav user-nav"
|
||||
@ariaLabel="User primary"
|
||||
class="main-nav nav user-nav"
|
||||
>
|
||||
{{#unless @user.profile_hidden}}
|
||||
<DNavigationItem @route="user.summary" class="user-nav__summary">
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
<div class="controls controls-dropdown">
|
||||
<label>{{i18n "user.new_topic_duration.label"}}</label>
|
||||
<ComboBox
|
||||
@class="duration"
|
||||
@valueProperty="value"
|
||||
@content={{@considerNewTopicOptions}}
|
||||
@value={{@model.user_option.new_topic_duration_minutes}}
|
||||
@onChange={{action (mut @model.user_option.new_topic_duration_minutes)}}
|
||||
class="duration"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
{{#if @status}}
|
||||
<DTooltip
|
||||
@identifier="user-status-message-tooltip"
|
||||
class={{concat-class "user-status-message" @class}}
|
||||
class="user-status-message"
|
||||
...attributes
|
||||
>
|
||||
<:trigger>
|
||||
{{emoji @status.emoji skipTitle=true}}
|
||||
|
|
|
@ -55,8 +55,8 @@
|
|||
<UserInfo
|
||||
@user={{ub.user}}
|
||||
@size="medium"
|
||||
@class="badge-info"
|
||||
@date={{ub.granted_at}}
|
||||
class="badge-info"
|
||||
>
|
||||
<div class="granted-on">
|
||||
{{html-safe
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<ScrollTracker
|
||||
@name="full-page-search"
|
||||
@tag={{this.searchTerm}}
|
||||
@class="hidden"
|
||||
class="hidden"
|
||||
/>
|
||||
|
||||
<div class="search-header" role="search">
|
||||
|
@ -24,11 +24,11 @@
|
|||
<div class="search-bar">
|
||||
<SearchTextField
|
||||
@value={{this.searchTerm}}
|
||||
@class="full-page-search search no-blur search-query"
|
||||
@aria-label={{i18n "search.search_term_label"}}
|
||||
@enter={{action "search" (hash collapseFilters=true)}}
|
||||
@hasAutofocus={{this.hasAutofocus}}
|
||||
@aria-controls="search-result-count"
|
||||
class="full-page-search search no-blur search-query"
|
||||
/>
|
||||
<ComboBox
|
||||
@id="search-type"
|
||||
|
@ -258,7 +258,7 @@
|
|||
{{#if this.model.users}}
|
||||
<div class="user-items">
|
||||
{{#each this.model.users as |user|}}
|
||||
<UserLink @user={{user}} @class="fps-user-item">
|
||||
<UserLink @user={{user}} class="fps-user-item">
|
||||
{{avatar user imageSize="large"}}
|
||||
|
||||
<div class="user-titles">
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<LoadMore
|
||||
@class="paginated-topics-list"
|
||||
@selector=".paginated-topics-list .topic-list tr"
|
||||
@action={{action "loadMore"}}
|
||||
class="paginated-topics-list"
|
||||
>
|
||||
<BasicTopicList @topicList={{this.model}} @showPosters={{true}} />
|
||||
<ConditionalLoadingSpinner @condition={{this.model.loadingMore}} />
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
<section class="user-content">
|
||||
<div class="group-members-actions">
|
||||
|
||||
{{#if this.canManageGroup}}
|
||||
<DButton
|
||||
@icon="list"
|
||||
|
@ -19,12 +18,11 @@
|
|||
@value={{this.filterInput}}
|
||||
@placeholderKey={{this.filterPlaceholder}}
|
||||
@autocomplete="off"
|
||||
@class="group-username-filter no-blur"
|
||||
class="group-username-filter no-blur"
|
||||
/>
|
||||
{{/if}}
|
||||
|
||||
{{#if this.canManageGroup}}
|
||||
|
||||
{{#if this.isBulk}}
|
||||
<span class="bulk-select-buttons-wrap">
|
||||
{{#if this.bulkSelection}}
|
||||
|
@ -49,7 +47,6 @@
|
|||
@icon="check-square"
|
||||
class="bulk-select-all"
|
||||
/>
|
||||
|
||||
</span>
|
||||
{{/if}}
|
||||
|
||||
|
@ -78,7 +75,6 @@
|
|||
@selector=".directory-table .directory-table__cell"
|
||||
@action={{action "loadMore"}}
|
||||
>
|
||||
|
||||
<ResponsiveTable
|
||||
@className="group-members
|
||||
{{if this.isBulk 'sticky-header' ''}}
|
||||
|
@ -90,9 +86,9 @@
|
|||
@asc={{this.asc}}
|
||||
@field="username_lower"
|
||||
@labelKey="username"
|
||||
@class="directory-table__column-header--username username"
|
||||
@automatic={{true}}
|
||||
@colspan="2"
|
||||
class="directory-table__column-header--username username"
|
||||
/>
|
||||
|
||||
{{#if this.canManageGroup}}
|
||||
|
@ -107,28 +103,28 @@
|
|||
/>
|
||||
|
||||
<TableHeaderToggle
|
||||
@class="directory-table__column-header--added"
|
||||
@order={{this.order}}
|
||||
@asc={{this.asc}}
|
||||
@field="added_at"
|
||||
@labelKey="groups.member_added"
|
||||
@automatic={{true}}
|
||||
class="directory-table__column-header--added"
|
||||
/>
|
||||
<TableHeaderToggle
|
||||
@class="directory-table__column-header--last-posted"
|
||||
@order={{this.order}}
|
||||
@asc={{this.asc}}
|
||||
@field="last_posted_at"
|
||||
@labelKey="last_post"
|
||||
@automatic={{true}}
|
||||
class="directory-table__column-header--last-posted"
|
||||
/>
|
||||
<TableHeaderToggle
|
||||
@class="directory-table__column-header--last-seen"
|
||||
@order={{this.order}}
|
||||
@asc={{this.asc}}
|
||||
@field="last_seen_at"
|
||||
@labelKey="last_seen"
|
||||
@automatic={{true}}
|
||||
class="directory-table__column-header--last-seen"
|
||||
/>
|
||||
|
||||
{{#if this.canManageGroup}}
|
||||
|
@ -141,7 +137,6 @@
|
|||
<:body>
|
||||
{{#each this.model.members as |m|}}
|
||||
<div class="directory-table__row">
|
||||
|
||||
<div
|
||||
class="directory-table__cell directory-table__cell--username group-member"
|
||||
colspan="2"
|
||||
|
@ -243,15 +238,12 @@
|
|||
</div>
|
||||
{{/each}}
|
||||
</:body>
|
||||
|
||||
</ResponsiveTable>
|
||||
|
||||
</LoadMore>
|
||||
|
||||
<ConditionalLoadingSpinner @condition={{this.loading}} />
|
||||
{{else}}
|
||||
<br />
|
||||
|
||||
<div>{{i18n this.emptyMessageKey}}</div>
|
||||
{{/if}}
|
||||
</section>
|
|
@ -3,12 +3,11 @@
|
|||
{{/if}}
|
||||
|
||||
<section class="user-content">
|
||||
|
||||
<div class="group-members-actions">
|
||||
<TextField
|
||||
@value={{this.filterInput}}
|
||||
@placeholderKey={{this.filterPlaceholder}}
|
||||
@class="group-username-filter no-blur"
|
||||
class="group-username-filter no-blur"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
@ -20,12 +19,12 @@
|
|||
<ResponsiveTable @className="group-members group-members__requests">
|
||||
<:header>
|
||||
<TableHeaderToggle
|
||||
@class="username"
|
||||
@order={{this.order}}
|
||||
@asc={{this.asc}}
|
||||
@field="username_lower"
|
||||
@labelKey="username"
|
||||
@automatic={{true}}
|
||||
class="username"
|
||||
/>
|
||||
<TableHeaderToggle
|
||||
@order={{this.order}}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<section class="user-secondary-navigation">
|
||||
<MobileNav
|
||||
@class="activity-nav"
|
||||
@desktopClass="action-list activity-list nav-stacked"
|
||||
class="activity-nav"
|
||||
>
|
||||
{{#if this.model.can_see_members}}
|
||||
<GroupActivityFilter @filter="posts" @categoryId={{this.category_id}} />
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<section class="user-secondary-navigation">
|
||||
<MobileNav
|
||||
@class="activity-nav"
|
||||
@desktopClass="action-list activity-list nav-stacked"
|
||||
class="activity-nav"
|
||||
>
|
||||
{{#each this.tabs as |tab|}}
|
||||
<li>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<section class="user-secondary-navigation">
|
||||
<MobileNav @class="messages-nav" @desktopClass="nav-stacked action-list">
|
||||
<MobileNav @desktopClass="nav-stacked action-list" class="messages-nav">
|
||||
<li>
|
||||
<LinkTo @route="group.messages.inbox" @model={{this.model.name}}>
|
||||
{{i18n "user.messages.inbox"}}
|
||||
|
|
|
@ -30,9 +30,9 @@
|
|||
<ComboBox
|
||||
@value={{this.type}}
|
||||
@content={{this.types}}
|
||||
@class="groups-header-filters-type"
|
||||
@onChange={{action (mut this.type)}}
|
||||
@options={{hash clearable=true none="groups.index.filter"}}
|
||||
class="groups-header-filters-type"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -13,11 +13,11 @@
|
|||
}}</label>
|
||||
|
||||
<EmailGroupUserChooser
|
||||
@class="input-xxlarge"
|
||||
@id="owner-selector"
|
||||
@value={{this.splitOwnerUsernames}}
|
||||
@onChange={{action "updateOwnerUsernames"}}
|
||||
@options={{hash filterPlaceholder="groups.selector_placeholder"}}
|
||||
class="input-xxlarge"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
@ -27,11 +27,11 @@
|
|||
}}</label>
|
||||
|
||||
<EmailGroupUserChooser
|
||||
@class="input-xxlarge"
|
||||
@id="member-selector"
|
||||
@value={{this.splitUsernames}}
|
||||
@onChange={{action "updateUsernames"}}
|
||||
@options={{hash filterPlaceholder="groups.selector_placeholder"}}
|
||||
class="input-xxlarge"
|
||||
/>
|
||||
</div>
|
||||
</GroupsFormProfileFields>
|
||||
|
|
|
@ -137,10 +137,10 @@
|
|||
<div class="input password-input input-group">
|
||||
<PasswordField
|
||||
@value={{this.accountPassword}}
|
||||
@class={{value-entered this.accountPassword}}
|
||||
@type={{if this.maskPassword "password" "text"}}
|
||||
@id="new-account-password"
|
||||
@capsLockOn={{this.capsLockOn}}
|
||||
class={{value-entered this.accountPassword}}
|
||||
/>
|
||||
<label class="alt-placeholder" for="new-account-password">
|
||||
{{i18n "invites.password_label"}}
|
||||
|
@ -179,7 +179,7 @@
|
|||
<UserField
|
||||
@field={{f.field}}
|
||||
@value={{f.value}}
|
||||
@class={{value-entered f.value}}
|
||||
class={{value-entered f.value}}
|
||||
/>
|
||||
</div>
|
||||
{{/each}}
|
||||
|
|
|
@ -17,16 +17,16 @@
|
|||
{{#if this.application.canSignUp}}
|
||||
<DButton
|
||||
@action={{route-action "showCreateAccount"}}
|
||||
@class="btn-primary sign-up-button"
|
||||
@label="sign_up"
|
||||
class="btn-primary sign-up-button"
|
||||
/>
|
||||
{{/if}}
|
||||
|
||||
<DButton
|
||||
@action={{route-action "showLogin"}}
|
||||
@class="btn-primary login-button"
|
||||
@icon="user"
|
||||
@label="log_in"
|
||||
class="btn-primary login-button"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
@content={{navItem}}
|
||||
@filterMode={{this.filterMode}}
|
||||
@category={{this.category}}
|
||||
@class={{concat "nav-item_" navItem.name}}
|
||||
class={{concat "nav-item_" navItem.name}}
|
||||
/>
|
||||
{{/each}}
|
||||
<PluginOutlet
|
||||
|
|
|
@ -168,42 +168,42 @@
|
|||
<PreferenceCheckbox
|
||||
@labelKey="user.external_links_in_new_tab"
|
||||
@checked={{this.model.user_option.external_links_in_new_tab}}
|
||||
@class="pref-external-links"
|
||||
data-setting-name="user-external-links"
|
||||
class="pref-external-links"
|
||||
/>
|
||||
<PreferenceCheckbox
|
||||
@labelKey="user.enable_quoting"
|
||||
@checked={{this.model.user_option.enable_quoting}}
|
||||
@class="pref-enable-quoting"
|
||||
data-setting-name="user-enable-quoting"
|
||||
class="pref-enable-quoting"
|
||||
/>
|
||||
<PreferenceCheckbox
|
||||
@labelKey="user.enable_defer"
|
||||
@checked={{this.model.user_option.enable_defer}}
|
||||
@class="pref-defer-unread"
|
||||
data-setting-name="user-enable-defer"
|
||||
class="pref-defer-unread"
|
||||
/>
|
||||
{{#if this.siteSettings.automatically_unpin_topics}}
|
||||
<PreferenceCheckbox
|
||||
@labelKey="user.automatically_unpin_topics"
|
||||
@checked={{this.model.user_option.automatically_unpin_topics}}
|
||||
@class="pref-auto-unpin"
|
||||
data-setting-name="user-auto-unpin"
|
||||
class="pref-auto-unpin"
|
||||
/>
|
||||
{{/if}}
|
||||
{{#if this.siteSettings.allow_users_to_hide_profile}}
|
||||
<PreferenceCheckbox
|
||||
@labelKey="user.hide_profile_and_presence"
|
||||
@checked={{this.model.user_option.hide_profile_and_presence}}
|
||||
@class="pref-hide-profile"
|
||||
data-setting-name="user-hide-profile"
|
||||
class="pref-hide-profile"
|
||||
/>
|
||||
{{/if}}
|
||||
<PreferenceCheckbox
|
||||
@labelKey="user.dynamic_favicon"
|
||||
@checked={{this.model.user_option.dynamic_favicon}}
|
||||
@class="pref-dynamic-favicon"
|
||||
data-setting-name="user-dynamic-favicon"
|
||||
class="pref-dynamic-favicon"
|
||||
/>
|
||||
<div
|
||||
class="controls controls-dropdown pref-page-title"
|
||||
|
@ -240,8 +240,8 @@
|
|||
<PreferenceCheckbox
|
||||
@labelKey="user.skip_new_user_tips.description"
|
||||
@checked={{this.model.user_option.skip_new_user_tips}}
|
||||
@class="pref-new-user-tips"
|
||||
data-setting-name="user-new-user-tips"
|
||||
class="pref-new-user-tips"
|
||||
/>
|
||||
{{#if this.site.user_tips}}
|
||||
<DButton
|
||||
|
|
|
@ -14,12 +14,12 @@
|
|||
<PreferenceCheckbox
|
||||
@labelKey="user.experimental_sidebar.link_to_filtered_list_checkbox_description"
|
||||
@checked={{this.newSidebarLinkToFilteredList}}
|
||||
@class="pref-link-to-filtered-list"
|
||||
class="pref-link-to-filtered-list"
|
||||
/>
|
||||
<PreferenceCheckbox
|
||||
@labelKey="user.experimental_sidebar.show_count_new_items_checkbox_description"
|
||||
@checked={{this.newSidebarShowCountOfNewItems}}
|
||||
@class="pref-show-count-new-items"
|
||||
class="pref-show-count-new-items"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<TimezoneInput
|
||||
@value={{this.model.user_option.timezone}}
|
||||
@onChange={{action (mut this.model.user_option.timezone)}}
|
||||
@class="input-xxlarge"
|
||||
class="input-xxlarge"
|
||||
/>
|
||||
<DButton
|
||||
@icon="globe"
|
||||
|
|
|
@ -10,13 +10,13 @@
|
|||
>
|
||||
<label>{{i18n "user.new_topic_duration.label"}}</label>
|
||||
<ComboBox
|
||||
@class="duration"
|
||||
@valueProperty="value"
|
||||
@content={{this.considerNewTopicOptions}}
|
||||
@value={{this.model.user_option.new_topic_duration_minutes}}
|
||||
@onChange={{action
|
||||
(mut this.model.user_option.new_topic_duration_minutes)
|
||||
}}
|
||||
class="duration"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -87,12 +87,12 @@
|
|||
<EmailGroupUserChooser
|
||||
@value={{this.filterUsername}}
|
||||
@onChange={{action "updateFilterUsername"}}
|
||||
@class="user-selector"
|
||||
@options={{hash
|
||||
maximum=1
|
||||
excludeCurrentUser=false
|
||||
fullWidthWrap=true
|
||||
}}
|
||||
class="user-selector"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -63,9 +63,9 @@
|
|||
|
||||
{{#if this.showCategoryChooser}}
|
||||
<CategoryChooser
|
||||
@class="small"
|
||||
@value={{this.buffered.category_id}}
|
||||
@onChange={{action "topicCategoryChanged"}}
|
||||
class="small"
|
||||
/>
|
||||
{{/if}}
|
||||
|
||||
|
@ -164,7 +164,7 @@
|
|||
/>
|
||||
</h1>
|
||||
|
||||
<TopicCategory @topic={{this.model}} @class="topic-category" />
|
||||
<TopicCategory @topic={{this.model}} class="topic-category" />
|
||||
{{/if}}
|
||||
</TopicTitle>
|
||||
|
||||
|
@ -218,10 +218,10 @@
|
|||
<PluginOutlet @name="above-timeline" @connectorTagName="div" />
|
||||
|
||||
<TopicNavigation
|
||||
@class="topic-navigation"
|
||||
@topic={{this.model}}
|
||||
@jumpToDate={{action "jumpToDate"}}
|
||||
@jumpToIndex={{action "jumpToIndex"}}
|
||||
class="topic-navigation"
|
||||
as |info|
|
||||
>
|
||||
<PluginOutlet
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
{{#if this.canInviteToForum}}
|
||||
<LoadMore
|
||||
@class="user-content"
|
||||
@id="user-content"
|
||||
@selector=".user-invite-list tr"
|
||||
@action={{action "loadMore"}}
|
||||
class="user-content"
|
||||
>
|
||||
<section class="user-additional-controls">
|
||||
{{#if this.showSearch}}
|
||||
|
|
|
@ -9,9 +9,9 @@
|
|||
/>
|
||||
{{else}}
|
||||
<LoadMore
|
||||
@class="paginated-topics-list"
|
||||
@selector=".paginated-topics-list .topic-list .topic-list-item"
|
||||
@action={{action "loadMore"}}
|
||||
class="paginated-topics-list"
|
||||
>
|
||||
<TopicDismissButtons
|
||||
@position="top"
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
</ol>
|
||||
|
||||
<HorizontalOverflowNav
|
||||
@className="messages-nav"
|
||||
@ariaLabel="User secondary - messages"
|
||||
id="user-navigation-secondary__horizontal-nav"
|
||||
class="messages-nav"
|
||||
/>
|
||||
|
||||
<div class="navigation-controls">
|
||||
|
|
|
@ -77,9 +77,9 @@
|
|||
|
||||
<section class="user-content" id="user-content">
|
||||
<LoadMore
|
||||
@class="notification-history user-stream"
|
||||
@selector=".user-stream .notification"
|
||||
@action={{action "loadMore"}}
|
||||
class="notification-history user-stream"
|
||||
>
|
||||
{{outlet}}
|
||||
<ConditionalLoadingSpinner @condition={{this.model.loadingMore}} />
|
||||
|
|
|
@ -108,7 +108,7 @@
|
|||
/>
|
||||
|
||||
<div class="top-section">
|
||||
<UserSummarySection @title="top_replies" @class="replies-section pull-left">
|
||||
<UserSummarySection @title="top_replies" class="replies-section pull-left">
|
||||
<UserSummaryTopicsList
|
||||
@type="replies"
|
||||
@items={{this.model.replies}}
|
||||
|
@ -124,7 +124,7 @@
|
|||
</UserSummaryTopicsList>
|
||||
</UserSummarySection>
|
||||
|
||||
<UserSummarySection @title="top_topics" @class="topics-section pull-right">
|
||||
<UserSummarySection @title="top_topics" class="topics-section pull-right">
|
||||
<UserSummaryTopicsList
|
||||
@type="topics"
|
||||
@items={{this.model.topics}}
|
||||
|
@ -142,7 +142,7 @@
|
|||
</div>
|
||||
|
||||
<div class="top-section">
|
||||
<UserSummarySection @title="top_links" @class="links-section pull-left">
|
||||
<UserSummarySection @title="top_links" class="links-section pull-left">
|
||||
{{#if this.model.links.length}}
|
||||
<ul>
|
||||
{{#each this.model.links as |link|}}
|
||||
|
@ -184,7 +184,7 @@
|
|||
|
||||
<UserSummarySection
|
||||
@title="most_replied_to_users"
|
||||
@class="summary-user-list replied-section pull-right"
|
||||
class="summary-user-list replied-section pull-right"
|
||||
>
|
||||
<UserSummaryUsersList
|
||||
@none="no_replies"
|
||||
|
@ -199,7 +199,7 @@
|
|||
<div class="top-section most-liked-section">
|
||||
<UserSummarySection
|
||||
@title="most_liked_by"
|
||||
@class="summary-user-list liked-by-section pull-left"
|
||||
class="summary-user-list liked-by-section pull-left"
|
||||
>
|
||||
<UserSummaryUsersList
|
||||
@none="no_likes"
|
||||
|
@ -212,7 +212,7 @@
|
|||
|
||||
<UserSummarySection
|
||||
@title="most_liked_users"
|
||||
@class="summary-user-list liked-section pull-right"
|
||||
class="summary-user-list liked-section pull-right"
|
||||
>
|
||||
<UserSummaryUsersList
|
||||
@none="no_likes"
|
||||
|
@ -228,7 +228,7 @@
|
|||
<div class="top-section top-categories-section">
|
||||
<UserSummarySection
|
||||
@title="top_categories"
|
||||
@class="summary-category-list pull-left"
|
||||
class="summary-category-list pull-left"
|
||||
>
|
||||
<table>
|
||||
<thead>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue