blob: b1743949da7914f5f262e5ec1d79b4d08f67da94 [file] [log] [blame]
/**
* @module modules/commit-detail-sk
* @description <h2><code>commit-detail-sk</code></h2>
*
* An element to display information around a single commit.
*
* The element takes as data a serialized cid.CommitDetail.
*
*/
import { define } from 'elements-sk/define'
import { html, render } from 'lit-html';
import { ElementSk } from '../../../infra-sk/modules/ElementSk'
import { $$ } from 'common-sk/modules/dom.js';
import { upgradeProperty } from 'elements-sk/upgradeProperty';
const template = (ele) => html`
<div @click=${(e) => ele._click(e)} class=linkish><pre>${ele.cid.message}</pre></div>
<div class="tip hidden">
<a href="/g/e/${ele.cid.hash}">Explore</a>
<a href="/g/c/${ele.cid.hash}">Cluster</a>
<a href="/g/t/${ele.cid.hash}">Triage</a>
<a href="${ele.cid.url}">Commit</a>
</div>`;
define('commit-detail-sk', class extends ElementSk {
constructor() {
super(template);
this._cid = {};
}
connectedCallback() {
super.connectedCallback();
upgradeProperty(this, 'cid');
this._render();
}
_click() {
$$('.tip', this).classList.toggle('hidden');
}
/** @prop cid {Object} cid.CommitId. */
get cid() { return this._cid }
set cid(val) {
this._cid = val;
this._render();
}
});