import { customElement, html, property, TemplateResult } from "lit-element"; import { until } from "lit-html/directives/until"; import { AggregateCard } from "./AggregateCard"; import "../Spinner"; import { PFSize } from "../Spinner"; @customElement("ak-aggregate-card-promise") export class AggregatePromiseCard extends AggregateCard { @property({ attribute: false }) promise?: Promise>; promiseProxy(): Promise { if (!this.promise) { return new Promise(() => html``); } return this.promise.then((s) => { return html` ${s.toString()}`; }); } renderInner(): TemplateResult { return html`

${until(this.promiseProxy(), html``)}

`; } }