Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
devel:documentation:application_configuration:dev:dynamic-forms [2019/02/14 13:30] tomiskar [Attachments] |
devel:documentation:application_configuration:dev:dynamic-forms [2019/02/14 15:48] kotisovam part moved to admin guide and edited |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Dynamic forms (eav) ====== | ====== Dynamic forms (eav) ====== | ||
- | {{tag> configuration eav form}} | + | {{tag> configuration eav form attachment}} |
- | + | ||
- | Dynamic forms are used for: | + | |
- | * extending standard entity attributes with custom, project specific attributes, | + | |
- | * dynamic configurations - e.g. system connector configurations. | + | |
- | + | ||
- | Dynamic forms are supported for selected entities: | + | |
- | * '' | + | |
- | * '' | + | |
- | * '' | + | |
- | * '' | + | |
- | * '' | + | |
- | * '' | + | |
- | * '' | + | |
- | * '' | + | |
Dynamic form instances (values) are saved in the individual tables according to the entity which they are linked to => which is their owner (e.g. the entity '' | Dynamic form instances (values) are saved in the individual tables according to the entity which they are linked to => which is their owner (e.g. the entity '' | ||
Line 56: | Line 42: | ||
* '' | * '' | ||
- | Dynamic form attribute | + | Dynamic form attributes |
- | Renderer is frontend component, superclass component '' | + | Renderer is a frontend component, superclass component '' |
Renderers are registered in module' | Renderers are registered in module' | ||
Line 89: | Line 75: | ||
On the FE, there is an agenda of forms - their definition and attributes. Each definition can contain zero or more attributes. To maintain the integrity, an interface [[https:// | On the FE, there is an agenda of forms - their definition and attributes. Each definition can contain zero or more attributes. To maintain the integrity, an interface [[https:// | ||
- | |||
- | It is necessary to be cautious when editing individual form attributes as the logic linked to this form can be rendered non-functional. | ||
<note important> | <note important> | ||
- | ===== Common forms ===== | ||
- | |||
- | Common forms is used for saving internal dynamic forms for: | ||
- | - report filters | ||
- | - long running task properties (comming soon) | ||
- | - authorization policiy properties (comming soon) | ||
- | |||
- | Form has to have form definition and owner, which can be an entity implementing '' | ||
===== Localization ===== | ===== Localization ===== | ||
- | For form attributes is possible add localization into cs.json and en.json for each module. | + | <note important> |
- | + | ||
- | <note important> | + | |
- | + | ||
- | <note tip>New tab on form definition detail can be used for creating localization.</ | + | |
Example form code **eu.bcvsolutions.idm.acc.entity.SysSystem** will be transformed into **eu-bcvsolutions-idm-acc-entity-syssystem** | Example form code **eu.bcvsolutions.idm.acc.entity.SysSystem** will be transformed into **eu-bcvsolutions-idm-acc-entity-syssystem** | ||
Line 118: | Line 90: | ||
{{tag> | {{tag> | ||
- | For form attribute values is possible to configure prepared validations. Validation are evaluated (**on the backend**), when form with extended attributes is saved and sent to backend. Simple validations as '' | ||
- | |||
- | === Required === | ||
- | |||
- | Value is required. | ||
- | |||
- | === Unique === | ||
- | |||
- | Value has to be unique. | ||
- | |||
- | <note info> | ||
- | |||
- | === Min, Max === | ||
- | |||
- | Value has to be greater than (lesser than) or equal given '' | ||
- | |||
- | <note info>Min and max validation is supported for numeric '' | ||
==== Regex ==== | ==== Regex ==== | ||
Line 149: | Line 104: | ||
</ | </ | ||
- | {{ : | ||
==== Validation message ==== | ==== Validation message ==== | ||
Line 159: | Line 113: | ||
===== Code lists ===== | ===== Code lists ===== | ||
- | |||
- | Code list can be defined and used on frontend forms -> defines options for the select box (e.g. used on role detail for the '' | ||
- | Code list works as decorator only. When whole code list is deleted, then the only impact is raw item codes will be rendered on frontend => when code list or code list item is not found, then raw value (item' | ||
<note tip>Use '' | <note tip>Use '' | ||
Line 172: | Line 123: | ||
===== Authorization policies support ===== | ===== Authorization policies support ===== | ||
- | Identity form values can be secured by authorization policies | + | Identity form values can be secured by authorization policies when some identity extended attributes have to be secured |
- | + | ||
- | <note tip>Only identity extended attribute values support authorization policies. Support for other entities can be added in future.</ | + | |
- | + | ||
- | ===== Attachments ===== | + | |
- | + | ||
- | Attachments can be uploaded for the attributes with persistent type '' | + | |
- | + | ||
- | Attachment can be downloaded from frontend. If attachment is picture (~ attachment mime type starts with '' | + | |
- | Download and preview is supported for agendas (entity types): identity, role, tree node, contract and contract slice => role requests (role lifecycle) and identity roles (parameters for the assigned roles) are | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | Read more about [[..: | + | |
+ | <note tip> | ||
Line 193: | Line 132: | ||
* Form value data migration, when persistent type is changed. | * Form value data migration, when persistent type is changed. | ||
* Attachment renderer: support multiple files, validation support (now is validation on input) | * Attachment renderer: support multiple files, validation support (now is validation on input) | ||
+ | * Created deep copy, when form values are copied => attachment is linked to two form values and is removed, when the first one is deleted. |