Component Title | Form Options |
Description | Form Options component allows for the selection from pre-defined options in various formats. |
Features |
|
Location | /apps/ehi-core/aem65/components/form/options/v1/options |
sling:resourceSuperType | core/wcm/components/form/options/v2/options |
Supported AEM Versions | 6.5 |
Editing Mode | inPlaceEdit |
Component Group | Cheerios Experience |
Use Object | The Form Options component uses the com.adobe.cq.wcm.core.components.models.form.Options Sling Model for its Use-object. |
The component provides a core.wcm.components.form.options.v2.editor editor client library category that includes CSS for dialog style adjustments. It is already included by its edit dialog.
BLOCK cmp-form-options
ELEMENT cmp-form-options__legend
ELEMENT cmp-form-options__field-label
ELEMENT cmp-form-options__field
MOD cmp-form-options__field--checkbox
MOD cmp-form-options__field--radio
ELEMENT cmp-form-options__field-description
ELEMENT cmp-form-options__label
ELEMENT cmp-form-options__drop-down-field
ELEMENT cmp-form-options__multi-drop-down-field
ELEMENT cmp-form-options__help-message
Extending the components can be done in multiple ways depending on the needs of the brand component.
Use this approach if you do not have any required html markup changes or backend java changes. This will only update the title of the component, componentGroup and point to the resourceSuperType. Optionally can extend the description.
Use this approach if you need to update css classes or add data attributes and do not need to change the backend model, or potentially want to use a different model by retain all of the markup in the component-tmpl.html (Component Template) markup.
The component template is usually named component-tmpl.html this file contains the html markup. Update this file if you need to change the html structure of the component.
Use this approach if you need to change the Sling Model to update the backend logic.
Files that will need to be added when extending:
It is possible to extend more than just the component.html file, if necessary any file that is resourceSupertyped can be extend for example if something needs added to the dialog.
This gives us the flexibility to change our classes or add attributes easily. Say I want to add new javascript I can easily target a different data attribute to trigger my javascript.
The following properties are written to JCR for this Form Options component and are expected to be available as Resource properties:
- jcr:primaryType: nt:unstructured
- jcr:createdBy: E524Z2
- jcr:title: Form Options Title
- jcr:lastModifiedBy: E524Z2
- source: local
- jcr:created:
- name: Form Options Name
- type: checkbox
- jcr:lastModified:
- requireSelectionDropDown: false
- sling:resourceType: ehi-core/aem65/components/form/options/v1/options
- requireSelectionMultiDropDown: false