public abstract class AbstractFormBuilderExtensionHandler extends AbstractExtensionHandler implements FormBuilderExtensionHandler
enabled, priority
Constructor and Description |
---|
AbstractFormBuilderExtensionHandler() |
Modifier and Type | Method and Description |
---|---|
ExtensionResultStatusType |
addAdditionalAdornedFormActions(EntityForm entityForm)
Provides a hook to add additional actions to adorned entity forms.
|
ExtensionResultStatusType |
addAdditionalFormActions(EntityForm entityForm)
Provides a hook to add additional actions to all entity forms.
|
ExtensionResultStatusType |
modifyDetailEntityForm(EntityForm ef)
Invoked whenever a detailed
EntityForm is built, after the initial list grids have been created on
the given EntityForm . |
ExtensionResultStatusType |
modifyListGrid(String className,
ListGrid listGrid)
Provides a hook to modify the ListGrid for the given className when building an entityForm.
|
ExtensionResultStatusType |
modifyListGridRecord(String className,
ListGridRecord record,
Entity entity)
Provides a hook to modify the ListGridRecord for the given Entity while building the list grid record.
|
ExtensionResultStatusType |
modifyPopulatedEntityForm(EntityForm ef,
Entity entity)
Modifies an
EntityForm after it has been populated with an Entity . |
ExtensionResultStatusType |
modifyUnpopulatedEntityForm(EntityForm ef)
Modifies an
EntityForm before it is populated with an Entity . |
getPriority, isEnabled, setEnabled, setPriority
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getPriority, isEnabled
public ExtensionResultStatusType modifyUnpopulatedEntityForm(EntityForm ef)
FormBuilderExtensionHandler
EntityForm
before it is populated with an Entity
. This method is invoked after all
of the EntityForm
fields have been created with the appropriate metadata, but the values have not been set.
An example invocation occurs when creating the 'add' form from a collection list grid. Note that this is invoked
every time that an EntityForm
is created, whether it is from a "main" entity (when clicking to view the details
screen for an entity from from an admin section) or when building an 'add' or 'edit' form for a related list grid
from the detail view for an entity.
Example usages of this method would be to modify the display for certain fields for a particular EntityForm
.
This method is invoked on every EntityForm
that is built from the admin (both initial creation
with empty field values and populating with real values from an Entity
).
Also, it's important to note that in most cases you do not need to implement both this method and
FormBuilderExtensionHandler.modifyPopulatedEntityForm(EntityForm, Entity)
. It is usually sufficient to only modify one or the other.
In fact, in some cases (like on a validation failure or when viewing the details for an entity) both this method and
FormBuilderExtensionHandler.modifyPopulatedEntityForm(EntityForm, Entity)
are invoked (this method is invoked first)
This methods is always invoked before FormBuilderExtensionHandler.modifyPopulatedEntityForm(EntityForm, Entity)
.
modifyUnpopulatedEntityForm
in interface FormBuilderExtensionHandler
ef
- the EntityForm
that has not yet been populated with values from an entityFormBuilderService#populateEntityForm(org.broadleafcommerce.openadmin.dto.ClassMetadata, EntityForm)}
public ExtensionResultStatusType modifyPopulatedEntityForm(EntityForm ef, Entity entity)
FormBuilderExtensionHandler
EntityForm
after it has been populated with an Entity
. This is invoked after not only
all of the EntityForm
fields have been created but the EntityForm
field values have been actually
populated with the real values from the given Entity
. An example of when this method is invoked is after
validation has failed (on any EntityForm
from the admin) or when viewing the details for an entity.
This method is not invoked on the creation of every single EntityForm
but rather only on the cases
presented above. If you need functionality for every case that a particular EntityForm
could be built,
you should probably implement the FormBuilderExtensionHandler.modifyUnpopulatedEntityForm(EntityForm)
method instead.
This method is very similar to FormBuilderExtensionHandler.modifyUnpopulatedEntityForm(EntityForm)
and usually implementors will only
override one or the other.
This method is always invoked after FormBuilderExtensionHandler.modifyUnpopulatedEntityForm(EntityForm)
.
modifyPopulatedEntityForm
in interface FormBuilderExtensionHandler
ef
- the EntityForm
being populatedentity
- the Entity
that the EntityForm
has used to populate all of the values for its fieldsFormBuilderService#populateEntityForm(org.broadleafcommerce.openadmin.dto.ClassMetadata, Entity, EntityForm)}
public ExtensionResultStatusType modifyDetailEntityForm(EntityForm ef)
FormBuilderExtensionHandler
EntityForm
is built, after the initial list grids have been created on
the given EntityForm
. This allows for further display modifications to the related ListGrids
that
could occur on an EntityForm
, or to only modify an EntityForm
when it is showing an entity in
a details view
A detailed EntityForm
is built when clicking on a row from the main ListGrid
in an AdminSection
or when viewing the details for an entity in a read-only.
As far as order of operations are concerned, this is always invoked after FormBuilderExtensionHandler.modifyPopulatedEntityForm(EntityForm, Entity)
,
which is invoked after FormBuilderExtensionHandler.modifyUnpopulatedEntityForm(EntityForm)
. This means that this method is
invoked last and can override values from the previous methods
modifyDetailEntityForm
in interface FormBuilderExtensionHandler
ef
- the EntityForm
that has been built with allFormBuilderService#populateEntityForm(org.broadleafcommerce.openadmin.dto.ClassMetadata, org.broadleafcommerce.openadmin.dto.Entity, java.util.Map, EntityForm)
public ExtensionResultStatusType modifyListGridRecord(String className, ListGridRecord record, Entity entity)
FormBuilderExtensionHandler
modifyListGridRecord
in interface FormBuilderExtensionHandler
public ExtensionResultStatusType addAdditionalFormActions(EntityForm entityForm)
FormBuilderExtensionHandler
Provides a hook to add additional actions to all entity forms.
For order of operation purposes, this is the last thing that is run when building an entity form, which means
that it occurs after FormBuilderExtensionHandler.modifyDetailEntityForm(EntityForm)
.
addAdditionalFormActions
in interface FormBuilderExtensionHandler
public ExtensionResultStatusType modifyListGrid(String className, ListGrid listGrid)
FormBuilderExtensionHandler
modifyListGrid
in interface FormBuilderExtensionHandler
public ExtensionResultStatusType addAdditionalAdornedFormActions(EntityForm entityForm)
FormBuilderExtensionHandler
Provides a hook to add additional actions to adorned entity forms.
For order of operation purposes, this is the last thing that is run when building an entity form, which means
that it occurs after FormBuilderExtensionHandler.modifyDetailEntityForm(EntityForm)
.
addAdditionalAdornedFormActions
in interface FormBuilderExtensionHandler
Copyright © 2022. All rights reserved.