Interface FormBuilderExtensionHandler

All Superinterfaces:
ExtensionHandler
All Known Implementing Classes:
AbstractFormBuilderExtensionHandler, CMSFormBuilderExtensionHandler, ParentCategorySortExtensionHandler, TranslationsFormBuilderExtensionHandler

public interface FormBuilderExtensionHandler extends ExtensionHandler
Extension handler for various methods from FormBuilderService
Author:
Phillip Verheyden (phillipuniverse)
  • Method Details

    • modifyUnpopulatedEntityForm

      ExtensionResultStatusType modifyUnpopulatedEntityForm(EntityForm ef)
      Modifies an 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 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 modifyPopulatedEntityForm(EntityForm, Entity) are invoked (this method is invoked first)

      This methods is always invoked before modifyPopulatedEntityForm(EntityForm, Entity).

      Parameters:
      ef - the EntityForm that has not yet been populated with values from an entity
      Returns:
    • modifyPopulatedEntityForm

      ExtensionResultStatusType modifyPopulatedEntityForm(EntityForm ef, Entity entity)
      Modifies an 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 modifyUnpopulatedEntityForm(EntityForm) method instead.

      This method is very similar to modifyUnpopulatedEntityForm(EntityForm) and usually implementors will only override one or the other.

      This method is always invoked after modifyUnpopulatedEntityForm(EntityForm).

      Parameters:
      ef - the EntityForm being populated
      entity - the Entity that the EntityForm has used to populate all of the values for its fields
      Returns:
      whether or not it was handled
    • modifyDetailEntityForm

      ExtensionResultStatusType modifyDetailEntityForm(EntityForm ef)
      Invoked whenever a detailed 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 modifyPopulatedEntityForm(EntityForm, Entity), which is invoked after modifyUnpopulatedEntityForm(EntityForm). This means that this method is invoked last and can override values from the previous methods

      Parameters:
      ef - the EntityForm that has been built with all
      Returns:
      whether or not it was handled
    • modifyListGridRecord

      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.
      Parameters:
      className -
      record -
      entity -
      Returns:
      whether or not it was handled
    • addAdditionalFormActions

      ExtensionResultStatusType addAdditionalFormActions(EntityForm entityForm)

      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 modifyDetailEntityForm(EntityForm).

      Parameters:
      entityForm -
      Returns:
      whether or not it was handled
    • modifyListGrid

      ExtensionResultStatusType modifyListGrid(String className, ListGrid listGrid)
      Provides a hook to modify the ListGrid for the given className when building an entityForm.
      Parameters:
      className -
      listGrid -
      Returns:
      whether or not it was handled
    • addAdditionalAdornedFormActions

      ExtensionResultStatusType addAdditionalAdornedFormActions(EntityForm entityForm)

      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 modifyDetailEntityForm(EntityForm).

      Parameters:
      entityForm -
      Returns:
      whether or not it was handled