web/admin: add modelform as base, start migrating
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
		| @ -3,27 +3,22 @@ import { t } from "@lingui/macro"; | ||||
| 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 "../../elements/forms/HorizontalFormElement"; | ||||
| import "../../elements/CodeMirror"; | ||||
| import { ModelForm } from "../../elements/forms/ModelForm"; | ||||
|  | ||||
| @customElement("ak-property-mapping-ldap-form") | ||||
| export class PropertyMappingLDAPForm extends Form<LDAPPropertyMapping> { | ||||
| export class PropertyMappingLDAPForm extends ModelForm<LDAPPropertyMapping, string> { | ||||
|  | ||||
|     set mappingUUID(value: string) { | ||||
|         new PropertymappingsApi(DEFAULT_CONFIG).propertymappingsLdapRead({ | ||||
|             pmUuid: value, | ||||
|         }).then(mapping => { | ||||
|             this.mapping = mapping; | ||||
|     loadInstance(pk: string): Promise<LDAPPropertyMapping> { | ||||
|         return new PropertymappingsApi(DEFAULT_CONFIG).propertymappingsLdapRead({ | ||||
|             pmUuid: pk, | ||||
|         }); | ||||
|     } | ||||
|  | ||||
|     @property({attribute: false}) | ||||
|     mapping?: LDAPPropertyMapping; | ||||
|  | ||||
|     getSuccessMessage(): string { | ||||
|         if (this.mapping) { | ||||
|         if (this.instance) { | ||||
|             return t`Successfully updated mapping.`; | ||||
|         } else { | ||||
|             return t`Successfully created mapping.`; | ||||
| @ -31,9 +26,9 @@ export class PropertyMappingLDAPForm extends Form<LDAPPropertyMapping> { | ||||
|     } | ||||
|  | ||||
|     send = (data: LDAPPropertyMapping): Promise<LDAPPropertyMapping> => { | ||||
|         if (this.mapping) { | ||||
|         if (this.instance) { | ||||
|             return new PropertymappingsApi(DEFAULT_CONFIG).propertymappingsLdapUpdate({ | ||||
|                 pmUuid: this.mapping.pk || "", | ||||
|                 pmUuid: this.instance.pk || "", | ||||
|                 data: data | ||||
|             }); | ||||
|         } else { | ||||
| @ -49,20 +44,20 @@ export class PropertyMappingLDAPForm extends Form<LDAPPropertyMapping> { | ||||
|                 label=${t`Name`} | ||||
|                 ?required=${true} | ||||
|                 name="name"> | ||||
|                 <input type="text" value="${ifDefined(this.mapping?.name)}" class="pf-c-form-control" required> | ||||
|                 <input type="text" value="${ifDefined(this.instance?.name)}" class="pf-c-form-control" required> | ||||
|             </ak-form-element-horizontal> | ||||
|             <ak-form-element-horizontal | ||||
|                 label=${t`Object field`} | ||||
|                 ?required=${true} | ||||
|                 name="objectField"> | ||||
|                 <input type="text" value="${ifDefined(this.mapping?.objectField)}" class="pf-c-form-control" required> | ||||
|                 <input type="text" value="${ifDefined(this.instance?.objectField)}" class="pf-c-form-control" required> | ||||
|                 <p class="pf-c-form__helper-text">${t`Field of the user object this value is written to.`}</p> | ||||
|             </ak-form-element-horizontal> | ||||
|             <ak-form-element-horizontal | ||||
|                 label=${t`Expression`} | ||||
|                 ?required=${true} | ||||
|                 name="expression"> | ||||
|                 <ak-codemirror mode="python" value="${ifDefined(this.mapping?.expression)}"> | ||||
|                 <ak-codemirror mode="python" value="${ifDefined(this.instance?.expression)}"> | ||||
|                 </ak-codemirror> | ||||
|                 <p class="pf-c-form__helper-text"> | ||||
|                     ${t`Expression using Python.`} | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Jens Langhammer
					Jens Langhammer