import "@goauthentik/elements/PageHeader"; import { updateURLParams } from "@goauthentik/elements/router/RouteMatch"; import { Table } from "@goauthentik/elements/table/Table"; import { msg } from "@lit/localize"; import { CSSResult } from "lit"; import { TemplateResult, html } from "lit"; import { ifDefined } from "lit/directives/if-defined.js"; import PFContent from "@patternfly/patternfly/components/Content/content.css"; import PFPage from "@patternfly/patternfly/components/Page/page.css"; import PFSidebar from "@patternfly/patternfly/components/Sidebar/sidebar.css"; export abstract class TablePage extends Table { abstract pageTitle(): string; abstract pageDescription(): string | undefined; abstract pageIcon(): string; static get styles(): CSSResult[] { return super.styles.concat(PFPage, PFContent, PFSidebar); } renderSidebarBefore(): TemplateResult { return html``; } renderSidebarAfter(): TemplateResult { return html``; } renderEmpty(inner?: TemplateResult): TemplateResult { return super.renderEmpty(html` ${inner ? inner : html`
${this.searchEnabled() ? this.renderEmptyClearSearch() : html``}
${this.renderObjectCreate()}
`} `); } renderEmptyClearSearch(): TemplateResult { if (this.search === "") { return html``; } return html``; } renderObjectCreate(): TemplateResult { return html``; } renderToolbar(): TemplateResult { return html`${this.renderObjectCreate()}${super.renderToolbar()}`; } render(): TemplateResult { return html`
${this.renderSidebarBefore()}
${this.renderTable()}
${this.renderSidebarAfter()}
`; } }