Introduce hovercard status plugin endpoint
Change-Id: If35f0e5b915d95d89912675d47383801eb1b2994
diff --git a/polygerrit-ui/app/elements/shared/gr-hovercard-account/gr-hovercard-account.ts b/polygerrit-ui/app/elements/shared/gr-hovercard-account/gr-hovercard-account.ts
index c79c7f3..5262c95 100644
--- a/polygerrit-ui/app/elements/shared/gr-hovercard-account/gr-hovercard-account.ts
+++ b/polygerrit-ui/app/elements/shared/gr-hovercard-account/gr-hovercard-account.ts
@@ -18,6 +18,8 @@
import '@polymer/iron-icon/iron-icon';
import '../gr-avatar/gr-avatar';
import '../gr-button/gr-button';
+import '../../plugins/gr-endpoint-decorator/gr-endpoint-decorator';
+import '../../plugins/gr-endpoint-param/gr-endpoint-param';
import {getAppContext} from '../../../services/app-context';
import {accountKey, isSelf} from '../../../utils/account-util';
import {customElement, property} from 'lit/decorators';
@@ -102,6 +104,7 @@
.top,
.attention,
.status,
+ .statusPlugin,
.voteable {
padding: var(--spacing-s) var(--spacing-l);
}
@@ -172,7 +175,7 @@
<div class="email">${this.account.email}</div>
</div>
</div>
- ${this.renderAccountStatus()}
+ ${this.renderAccountStatusPlugins()} ${this.renderAccountStatus()}
${this.voteableText
? html`
<div class="voteable">
@@ -213,6 +216,19 @@
`;
}
+ private renderAccountStatusPlugins() {
+ return html`
+ <div class="statusPlugin">
+ <gr-endpoint-decorator name="hovercard-status">
+ <gr-endpoint-param
+ name="account"
+ .value="${this.account}"
+ ></gr-endpoint-param>
+ </gr-endpoint-decorator>
+ </div>
+ `;
+ }
+
private renderAccountStatus() {
if (!this.account.status) return;
return html`
diff --git a/polygerrit-ui/app/elements/shared/gr-hovercard-account/gr-hovercard-account_test.ts b/polygerrit-ui/app/elements/shared/gr-hovercard-account/gr-hovercard-account_test.ts
index 66a4e1b..b8622e0 100644
--- a/polygerrit-ui/app/elements/shared/gr-hovercard-account/gr-hovercard-account_test.ts
+++ b/polygerrit-ui/app/elements/shared/gr-hovercard-account/gr-hovercard-account_test.ts
@@ -93,6 +93,11 @@
</div>
</div>
</div>
+ <div class="statusPlugin">
+ <gr-endpoint-decorator name="hovercard-status">
+ <gr-endpoint-param name="account"></gr-endpoint-param>
+ </gr-endpoint-decorator>
+ </div>
</div>
`);
});