import { CoreApi, Group } from "authentik-api"; import { gettext } from "django"; import { customElement, property } from "lit-element"; import { html, TemplateResult } from "lit-html"; import { DEFAULT_CONFIG } from "../../api/Config"; import { Form } from "../../elements/forms/Form"; import { ifDefined } from "lit-html/directives/if-defined"; import "@polymer/paper-input/paper-input"; import "@polymer/iron-form/iron-form"; import '@polymer/paper-checkbox/paper-checkbox'; import '@polymer/paper-dropdown-menu/paper-dropdown-menu'; import '@polymer/paper-listbox/paper-listbox'; import '@polymer/paper-item/paper-item'; import { until } from "lit-html/directives/until"; @customElement("ak-group-form") export class GroupForm extends Form { @property({attribute: false}) group?: Group; send = (data: Group): Promise => { if (this.group) { return new CoreApi(DEFAULT_CONFIG).coreGroupsUpdate({ groupUuid: this.group.pk || "", data: data }); } else { return new CoreApi(DEFAULT_CONFIG).coreGroupsCreate({ data: data }); } }; renderForm(): TemplateResult { return html`
${gettext("Is superuser")}

${gettext("Users added to this group will be superusers.")}

${gettext("No parent")} ${until(new CoreApi(DEFAULT_CONFIG).coreGroupsList({}).then(groups => { return groups.results.map(group => { return html`${group.name}`; }) }), html``)}

${gettext("Hold control/command to select multiple items.")}

`; } }