import { gettext } from "django"; import { customElement, html, property, TemplateResult } from "lit-element"; import { Provider } from "../../api/Providers"; import { AKResponse } from "../../api/Client"; import { TablePage } from "../../elements/table/TablePage"; import "../../elements/buttons/ModalButton"; import "../../elements/buttons/SpinnerButton"; import "../../elements/buttons/Dropdown"; import { TableColumn } from "../../elements/table/Table"; import { until } from "lit-html/directives/until"; @customElement("ak-provider-list") export class ProviderListPage extends TablePage { searchEnabled(): boolean { return true; } pageTitle(): string { return gettext("Provider"); } pageDescription(): string { return gettext("Provide support for protocols like SAML and OAuth to assigned applications."); } pageIcon(): string { return gettext("pf-icon pf-icon-integration"); } @property() order = "name"; apiEndpoint(page: number): Promise> { return Provider.list({ ordering: this.order, page: page, search: this.search || "", }); } columns(): TableColumn[] { return [ new TableColumn("Name", "name"), new TableColumn("Application"), new TableColumn("Type", "type"), new TableColumn(""), ]; } row(item: Provider): TemplateResult[] { return [ html` ${item.name} `, item.assigned_application_name ? html` ${gettext("Assigned to application ")} ${item.assigned_application_name}` : html` ${gettext("Warning: Provider not assigned to any application.")}`, html`${item.verbose_name}`, html` ${gettext("Edit")}
${gettext("Delete")}
`, ]; } renderToolbar(): TemplateResult { return html` ${super.renderToolbar()}`; } }