Alpaca has a pretty inclusive field library that you can use straight away. Fields are simply referenced by their
type
within your Alpaca forms configuration. If you don't provide specific field types to use, Alpaca
guesses at sensible defaults for you.
You can also create your own fields. Alpaca fields are object-oriented (essentially) so that you can extend existing fields, override methods and modify behaviors. The result is less work and a complete extensibility layer so that you can use Alpaca in your projects while building your own fields and UI components.
For a complete example of how to build fields, the best path is to look at the Alpaca source code. After all, Alpaca is completely open-source and so the source code is always going to be the very best place to go.
If you're looking for professional services or support around custom fields, forms or functionality, please contact the Alpaca team and we can put together a services arrangement to deliver what you need.
Here we provide some lightweight guidance here on how to build your own fields.
Let's take a look at a quick and dirty example. Here we create a new field with the type custom1
that extends the text
field. When the user enters a value and it is set onto the field, we override
the setValue
method and capitalize all of the words. We then proceed to the base method to let things
proceed on their merry way.
We can use the same approach as the previous example while extending the JSON schema format
settings.
Let's add our own format called "custom2".
Here is an example where a custom field might use the setupField
method to do some custom, long-duration work
that could cause the rendering order of the nested objects to get out of order since loading of sub-fields in
done in parallel.
This ensures that the order is preserved.