web/pages: use DeleteForm for all lists

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
Jens Langhammer
2021-03-18 12:14:27 +01:00
parent dae60b5a08
commit 48443e3e09
20 changed files with 233 additions and 108 deletions

View File

@ -17,6 +17,10 @@ export class DeleteForm extends ModalButton {
confirm(): void {
this.delete().then(() => {
showMessage({
message: gettext(`Successfully deleted ${this.objectLabel} ${this.obj?.name}`),
level_tag: "success",
});
this.open = false;
this.dispatchEvent(
new CustomEvent("ak-refresh", {
@ -28,8 +32,8 @@ export class DeleteForm extends ModalButton {
showMessage({
message: gettext(`Failed to delete ${this.objectLabel}: ${e.toString()}`),
level_tag: "error",
})
})
});
});
}
renderModalInner(): TemplateResult {

View File

@ -4,6 +4,7 @@ import { AKResponse } from "../../api/Client";
import { Table, TableColumn } from "../../elements/table/Table";
import { PoliciesApi, PolicyBinding } from "authentik-api";
import "../../elements/forms/DeleteForm";
import "../../elements/Tabs";
import "../../elements/buttons/ModalButton";
import "../../elements/buttons/SpinnerButton";
@ -90,13 +91,18 @@ export class BoundPoliciesList extends Table<PolicyBinding> {
</ak-spinner-button>
<div slot="modal"></div>
</ak-modal-button>
<ak-modal-button href="${AdminURLManager.policyBindings(`${item.pk}/delete/`)}">
<ak-spinner-button slot="trigger" class="pf-m-danger">
<ak-forms-delete
.obj=${item}
objectLabel=${gettext("Policy binding")}
.delete=${() => {
return new PoliciesApi(DEFAULT_CONFIG).policiesBindingsDelete({
policyBindingUuid: item.pk || "",
});
}}>
<button slot="trigger" class="pf-c-button pf-m-danger">
${gettext("Delete Binding")}
</ak-spinner-button>
<div slot="modal"></div>
</ak-modal-button>
`,
</button>
</ak-forms-delete>`,
];
}