DEV: Fix "ember/no-empty-glimmer-component-classes" lint (#24629)

This commit is contained in:
Jarek Radosz
2023-11-29 15:14:30 +01:00
committed by GitHub
parent 0f7e4d2eaa
commit 7cac167928
23 changed files with 288 additions and 315 deletions

View File

@ -1,9 +1,7 @@
import Component from "@glimmer/component";
import i18n from "discourse-common/helpers/i18n"; import i18n from "discourse-common/helpers/i18n";
import AdminPluginsListItem from "./admin-plugins-list-item"; import AdminPluginsListItem from "./admin-plugins-list-item";
export default class AdminPluginsList extends Component { const AdminPluginsList = <template>
<template>
<table class="admin-plugins-list grid"> <table class="admin-plugins-list grid">
<thead> <thead>
<tr> <tr>
@ -19,5 +17,6 @@ export default class AdminPluginsList extends Component {
{{/each}} {{/each}}
</tbody> </tbody>
</table> </table>
</template> </template>;
}
export default AdminPluginsList;

View File

@ -1,23 +1,22 @@
import Component from "@glimmer/component";
import CookText from "discourse/components/cook-text"; import CookText from "discourse/components/cook-text";
import i18n from "discourse-common/helpers/i18n"; import i18n from "discourse-common/helpers/i18n";
import and from "truth-helpers/helpers/and"; import and from "truth-helpers/helpers/and";
import not from "truth-helpers/helpers/not"; import not from "truth-helpers/helpers/not";
export default class DashboardNewFeatureItem extends Component { const DashboardNewFeatureItem = <template>
<template>
<div class="admin-new-feature-item"> <div class="admin-new-feature-item">
<div class="admin-new-feature-item__content"> <div class="admin-new-feature-item__content">
<div class="admin-new-feature-item__header"> <div class="admin-new-feature-item__header">
{{#if (and @item.emoji (not @item.screenshot_url))}} {{#if (and @item.emoji (not @item.screenshot_url))}}
<div <div class="admin-new-feature-item__new-feature-emoji">
class="admin-new-feature-item__new-feature-emoji" {{@item.emoji}}
>{{@item.emoji}}</div> </div>
{{/if}} {{/if}}
<h3> <h3>
{{@item.title}} {{@item.title}}
</h3> </h3>
</div> </div>
{{#if @item.screenshot_url}} {{#if @item.screenshot_url}}
<img <img
src={{@item.screenshot_url}} src={{@item.screenshot_url}}
@ -25,8 +24,10 @@ export default class DashboardNewFeatureItem extends Component {
alt={{@item.title}} alt={{@item.title}}
/> />
{{/if}} {{/if}}
<div class="admin-new-feature-item__feature-description"> <div class="admin-new-feature-item__feature-description">
<CookText @rawText={{@item.description}} /> <CookText @rawText={{@item.description}} />
{{#if @item.link}} {{#if @item.link}}
<a <a
href={{@item.link}} href={{@item.link}}
@ -40,5 +41,6 @@ export default class DashboardNewFeatureItem extends Component {
</div> </div>
</div> </div>
</div> </div>
</template> </template>;
}
export default DashboardNewFeatureItem;

View File

@ -36,6 +36,7 @@ class GlimmerComponentWithParentViewManager extends CustomComponentManager {
* when building backwards-compatible versions of components. Any use of the parentView property * when building backwards-compatible versions of components. Any use of the parentView property
* of the component should be considered deprecated. * of the component should be considered deprecated.
*/ */
// eslint-disable-next-line ember/no-empty-glimmer-component-classes
export default class GlimmerComponentWithDeprecatedParentView extends Component {} export default class GlimmerComponentWithDeprecatedParentView extends Component {}
setInternalComponentManager( setInternalComponentManager(

View File

@ -1,13 +1,12 @@
import Component from "@glimmer/component";
import DButton from "discourse/components/d-button"; import DButton from "discourse/components/d-button";
export default class PasskeyLoginButton extends Component { const PasskeyLoginButton = <template>
<template>
<DButton <DButton
@action={{@passkeyLogin}} @action={{@passkeyLogin}}
@icon="user" @icon="user"
@label="login.passkey.name" @label="login.passkey.name"
class="btn btn-social passkey-login-button" class="btn-social passkey-login-button"
/> />
</template> </template>;
}
export default PasskeyLoginButton;

View File

@ -9,9 +9,11 @@ import { forceMobile, resetMobile } from "discourse/lib/mobile";
import { setupRenderingTest } from "discourse/tests/helpers/component-test"; import { setupRenderingTest } from "discourse/tests/helpers/component-test";
import { registerTemporaryModule } from "../helpers/temporary-module-helper"; import { registerTemporaryModule } from "../helpers/temporary-module-helper";
// eslint-disable-next-line ember/no-empty-glimmer-component-classes
class MockColocatedComponent extends Component {} class MockColocatedComponent extends Component {}
setComponentTemplate(hbs`Colocated Original`, MockColocatedComponent); setComponentTemplate(hbs`Colocated Original`, MockColocatedComponent);
// eslint-disable-next-line ember/no-empty-glimmer-component-classes
class MockResolvedComponent extends Component {} class MockResolvedComponent extends Component {}
const MockResolvedComponentTemplate = hbs`Resolved Original`; const MockResolvedComponentTemplate = hbs`Resolved Original`;

View File

@ -1,12 +1,10 @@
import Component from "@glimmer/component";
import DButton from "discourse/components/d-button"; import DButton from "discourse/components/d-button";
import replaceEmoji from "discourse/helpers/replace-emoji"; import replaceEmoji from "discourse/helpers/replace-emoji";
import dIcon from "discourse-common/helpers/d-icon"; import dIcon from "discourse-common/helpers/d-icon";
import htmlSafe from "discourse-common/helpers/html-safe"; import htmlSafe from "discourse-common/helpers/html-safe";
import ChatUserAvatar from "./chat-user-avatar"; import ChatUserAvatar from "./chat-user-avatar";
export default class ChatComposerMessageDetails extends Component { const ChatComposerMessageDetails = <template>
<template>
<div <div
class="chat-composer-message-details" class="chat-composer-message-details"
data-id={{@message.id}} data-id={{@message.id}}
@ -28,5 +26,6 @@ export default class ChatComposerMessageDetails extends Component {
class="btn-flat cancel-message-action" class="btn-flat cancel-message-action"
/> />
</div> </div>
</template> </template>;
}
export default ChatComposerMessageDetails;

View File

@ -1,13 +1,12 @@
import Component from "@glimmer/component";
import DButton from "discourse/components/d-button"; import DButton from "discourse/components/d-button";
export default class extends Component { const CloseButton = <template>
<template>
<DButton <DButton
@icon="times" @icon="times"
@action={{@close}} @action={{@close}}
@title="chat.close" @title="chat.close"
class="btn-flat btn-link chat-drawer-header__close-btn" class="btn-flat btn-link chat-drawer-header__close-btn"
/> />
</template> </template>;
}
export default CloseButton;

View File

@ -1,12 +1,11 @@
import Component from "@glimmer/component";
import replaceEmoji from "discourse/helpers/replace-emoji"; import replaceEmoji from "discourse/helpers/replace-emoji";
export default class extends Component { const ChatEmojiAvatar = <template>
<template>
<div class="chat-emoji-avatar"> <div class="chat-emoji-avatar">
<div class="chat-emoji-avatar-container"> <div class="chat-emoji-avatar-container">
{{replaceEmoji @emoji}} {{replaceEmoji @emoji}}
</div> </div>
</div> </div>
</template> </template>;
}
export default ChatEmojiAvatar;

View File

@ -1,10 +1,8 @@
import Component from "@glimmer/component";
import i18n from "discourse-common/helpers/i18n"; import i18n from "discourse-common/helpers/i18n";
import and from "truth-helpers/helpers/and"; import and from "truth-helpers/helpers/and";
import not from "truth-helpers/helpers/not"; import not from "truth-helpers/helpers/not";
export default class extends Component { const ChatMessageSeparatorNew = <template>
<template>
{{#if (and @message.newest (not @message.formattedFirstMessageDate))}} {{#if (and @message.newest (not @message.formattedFirstMessageDate))}}
<div class="chat-message-separator-new"> <div class="chat-message-separator-new">
<div class="chat-message-separator__text-container"> <div class="chat-message-separator__text-container">
@ -18,5 +16,6 @@ export default class extends Component {
</div> </div>
</div> </div>
{{/if}} {{/if}}
</template> </template>;
}
export default ChatMessageSeparatorNew;

View File

@ -1,7 +1,5 @@
import Component from "@glimmer/component"; const ChatSidePanelResizer = <template>
export default class extends Component {
<template>
<div class="chat-side-panel-resizer"></div> <div class="chat-side-panel-resizer"></div>
</template> </template>;
}
export default ChatSidePanelResizer;

View File

@ -1,12 +1,11 @@
import Component from "@glimmer/component";
import dIcon from "discourse-common/helpers/d-icon"; import dIcon from "discourse-common/helpers/d-icon";
export default class ChatComposerButton extends Component { const ChatComposerButton = <template>
<template>
<div class="chat-composer-button__wrapper"> <div class="chat-composer-button__wrapper">
<button type="button" class="chat-composer-button" ...attributes> <button type="button" class="chat-composer-button" ...attributes>
{{dIcon @icon}} {{dIcon @icon}}
</button> </button>
</div> </div>
</template> </template>;
}
export default ChatComposerButton;

View File

@ -1,7 +1,5 @@
import Component from "@glimmer/component"; const ChatComposerSeparator = <template>
export default class ChatComposerSeparator extends Component {
<template>
<div class="chat-composer-separator"></div> <div class="chat-composer-separator"></div>
</template> </template>;
}
export default ChatComposerSeparator;

View File

@ -1,18 +1,13 @@
import Component from "@glimmer/component";
import { LinkTo } from "@ember/routing"; import { LinkTo } from "@ember/routing";
import concatClass from "discourse/helpers/concat-class"; import concatClass from "discourse/helpers/concat-class";
import icon from "discourse-common/helpers/d-icon"; import icon from "discourse-common/helpers/d-icon";
export default class ChatFormRow extends Component { const ChatFormRow = <template>
<template>
{{#if @route}} {{#if @route}}
<LinkTo <LinkTo
@route={{@route}} @route={{@route}}
@models={{@routeModels}} @models={{@routeModels}}
class={{concatClass class={{concatClass "chat-form__row -link" (if @separator "-separator")}}
"chat-form__row -link"
(if @separator "-separator")
}}
> >
<div class="chat-form__row-content"> <div class="chat-form__row-content">
{{@label}} {{@label}}
@ -44,5 +39,6 @@ export default class ChatFormRow extends Component {
{{/if}} {{/if}}
</div> </div>
{{/if}} {{/if}}
</template> </template>;
}
export default ChatFormRow;

View File

@ -1,12 +1,11 @@
import Component from "@glimmer/component";
import DButton from "discourse/components/d-button"; import DButton from "discourse/components/d-button";
export default class ListAction extends Component { const ListAction = <template>
<template>
<DButton <DButton
class="btn btn-flat" class="btn btn-flat"
@icon={{@item.icon}} @icon={{@item.icon}}
@translatedLabel={{@item.label}} @translatedLabel={{@item.label}}
/> />
</template> </template>;
}
export default ListAction;

View File

@ -1,12 +1,10 @@
import Component from "@glimmer/component";
import { fn } from "@ember/helper"; import { fn } from "@ember/helper";
import DButton from "discourse/components/d-button"; import DButton from "discourse/components/d-button";
import concatClass from "discourse/helpers/concat-class"; import concatClass from "discourse/helpers/concat-class";
import icon from "discourse-common/helpers/d-icon"; import icon from "discourse-common/helpers/d-icon";
import ChatUserAvatar from "discourse/plugins/chat/discourse/components/chat-user-avatar"; import ChatUserAvatar from "discourse/plugins/chat/discourse/components/chat-user-avatar";
export default class Member extends Component { const Member = <template>
<template>
<DButton <DButton
class={{concatClass class={{concatClass
"chat-message-creator__member btn-default" "chat-message-creator__member btn-default"
@ -24,5 +22,6 @@ export default class Member extends Component {
</span> </span>
{{icon "times"}} {{icon "times"}}
</DButton> </DButton>
</template> </template>;
}
export default Member;

View File

@ -1,9 +1,7 @@
import Component from "@glimmer/component";
import ChatEmojiAvatar from "../../chat-emoji-avatar"; import ChatEmojiAvatar from "../../chat-emoji-avatar";
import ChatUserAvatar from "../../chat-user-avatar"; import ChatUserAvatar from "../../chat-user-avatar";
export default class extends Component { const Avatar = <template>
<template>
<div class="chat-message-avatar"> <div class="chat-message-avatar">
{{#if @message.chatWebhookEvent.emoji}} {{#if @message.chatWebhookEvent.emoji}}
<ChatEmojiAvatar @emoji={{@message.chatWebhookEvent.emoji}} /> <ChatEmojiAvatar @emoji={{@message.chatWebhookEvent.emoji}} />
@ -11,5 +9,6 @@ export default class extends Component {
<ChatUserAvatar @user={{@message.user}} @avatarSize="medium" /> <ChatUserAvatar @user={{@message.user}} @avatarSize="medium" />
{{/if}} {{/if}}
</div> </div>
</template> </template>;
}
export default Avatar;

View File

@ -1,11 +1,9 @@
import Component from "@glimmer/component";
import { fn } from "@ember/helper"; import { fn } from "@ember/helper";
import DButton from "discourse/components/d-button"; import DButton from "discourse/components/d-button";
import i18n from "discourse-common/helpers/i18n"; import i18n from "discourse-common/helpers/i18n";
import eq from "truth-helpers/helpers/eq"; import eq from "truth-helpers/helpers/eq";
export default class extends Component { const Error = <template>
<template>
{{#if @message.error}} {{#if @message.error}}
<div class="chat-message-error"> <div class="chat-message-error">
{{#if (eq @message.error "network_error")}} {{#if (eq @message.error "network_error")}}
@ -26,5 +24,6 @@ export default class extends Component {
{{/if}} {{/if}}
</div> </div>
{{/if}} {{/if}}
</template> </template>;
}
export default Error;

View File

@ -1,10 +1,8 @@
import Component from "@glimmer/component";
import DButton from "discourse/components/d-button"; import DButton from "discourse/components/d-button";
import concatClass from "discourse/helpers/concat-class"; import concatClass from "discourse/helpers/concat-class";
import dIcon from "discourse-common/helpers/d-icon"; import dIcon from "discourse-common/helpers/d-icon";
export default class extends Component { const ScrollToBottomArrow = <template>
<template>
<div class="chat-scroll-to-bottom"> <div class="chat-scroll-to-bottom">
<DButton <DButton
class={{concatClass class={{concatClass
@ -19,5 +17,6 @@ export default class extends Component {
</span> </span>
</DButton> </DButton>
</div> </div>
</template> </template>;
}
export default ScrollToBottomArrow;

View File

@ -1,4 +1,3 @@
import Component from "@glimmer/component";
import ChatComposer from "../chat-composer"; import ChatComposer from "../chat-composer";
import ChatComposerMessageDetails from "../chat-composer-message-details"; import ChatComposerMessageDetails from "../chat-composer-message-details";
import ChatHeaderIcon from "../chat-header-icon"; import ChatHeaderIcon from "../chat-header-icon";
@ -15,8 +14,7 @@ import ChatModalThreadSettings from "../chat-modal-thread-settings";
import ChatModalToggleChannelStatus from "../chat-modal-toggle-channel-status"; import ChatModalToggleChannelStatus from "../chat-modal-toggle-channel-status";
import ChatThreadListItem from "../chat-thread-list-item"; import ChatThreadListItem from "../chat-thread-list-item";
export default class extends Component { const ChatOrganism = <template>
<template>
<ChatMessage /> <ChatMessage />
<ChatComposer /> <ChatComposer />
<ChatThreadListItem /> <ChatThreadListItem />
@ -35,5 +33,6 @@ export default class extends Component {
<ChatModalToggleChannelStatus /> <ChatModalToggleChannelStatus />
<ChatModalNewMessage /> <ChatModalNewMessage />
<ChatModalChannelSummary /> <ChatModalChannelSummary />
</template> </template>;
}
export default ChatOrganism;

View File

@ -1,7 +1,5 @@
import Component from "@glimmer/component"; const DummyComponent = <template>
export default class DummyComponent extends Component {
<template>
My custom component with foo: {{@model.foo}} My custom component with foo: {{@model.foo}}
</template> </template>;
}
export default DummyComponent;

View File

@ -1,3 +0,0 @@
import Component from "@glimmer/component";
export default class StyleguideComponent extends Component {}

View File

@ -1,3 +0,0 @@
import Component from "@glimmer/component";
export default class StyleguideControls extends Component {}

View File

@ -1,3 +0,0 @@
import Component from "@glimmer/component";
export default class StyleguideControlsToggle extends Component {}