Input Components
FirstSpirit provides programming interfaces to allow module developers to specify and implement custom input components which may be used in element forms. A custom input component can thus augment the set of data structures which may be stored by form data-based store elements.
Structure
A FirstSpirit input component consists of a set of Java classes and supporting files, each dedicated to a narrowly-scoped function outlined below:
- GOM Form Definition
specifies the GOM (FirstSpirit GUI Object Model) definition: an XML identifier and optional attributes. - SiteArchitect Gadget
provides a Swing-based user interface, interactive functionality, and input processing for use in element forms in SiteArchitect. The gadget class also optionally implements various SiteArchitect-specific gadget aspects which indicate and provide support for additional functionality. - ContentCreator Gadget
provides the user interface, interactive functionality, and input processing for use in element forms in ContentCreator, based on HTML, CSS, and JavaScript. The gadget class also optionally implements various ContentCreator-specific gadget aspects which indicate and provide support for additional functionality.
Additionally, a FirstSpirit input component requires a specific component descriptor:
- Gadget Component Definition in the FSM Manifest
indicates to FirstSpirit the set of classes which make up the input component.
If a custom input component is to persist data entered by users, additional functionality must be implemented:
- Value Processing
handles processing and storing of a gadget instance's value for persistence. The value class also optionally implements various aspects to indicate and provide support for additional functionality.