-
Notifications
You must be signed in to change notification settings - Fork 99
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
12 changed files
with
14 additions
and
14 deletions.
There are no files selected for viewing
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,13 +2,13 @@ | |
|
||
title: Empowering complex forms with [email protected] | ||
description: "Recapping our recent form-js releases: form layouting, flexible data binding, and FEEL expression properties to simplify complex form development" | ||
preview_image: http://bpmn.io/assets/attachments/blog/2023/006-group-path.png | ||
preview_image: http://bpmn.io/assets/attachments/blog/2023/007-group-path.png | ||
layout: blogpost.hbs | ||
slug: 2023-form-js-1.5-recent-developments | ||
author: | ||
- Niklas Kiefer <https://github.com/pinussilvestrus> | ||
- Valentin Serra <https://github.com/skaiir> | ||
published: 2023-10-10 18:00 | ||
published: 2023-12-11 12:00 | ||
|
||
releases: | ||
- '[email protected]' | ||
|
@@ -29,7 +29,7 @@ Our focus these past few quarters have been to enable more complex use-cases for | |
Resizable form fields allow you to adjust the horizontal size of your components, as well as bringing multiple components into the same row. | ||
|
||
<div class="figure full-size"> | ||
<img src="{{ assets }}/attachments/blog/2023/006-resize-field.gif"> | ||
<img src="{{ assets }}/attachments/blog/2023/007-resize-field.gif"> | ||
|
||
<p class="caption"> | ||
Resize form fields to fit the layout. | ||
|
@@ -39,7 +39,7 @@ Resizable form fields allow you to adjust the horizontal size of your components | |
With the addition of groups, you can now organize form components both visually and logically. In combination with component resizing, this gives you a lot of control over where your fields end up and allows you to create visually appealing form layouts | ||
|
||
<div class="figure full-size"> | ||
<img src="{{ assets }}/attachments/blog/2023/006-group.png"> | ||
<img src="{{ assets }}/attachments/blog/2023/007-group.png"> | ||
|
||
<p class="caption"> | ||
Create groups to organize form components logically. | ||
|
@@ -49,7 +49,7 @@ With the addition of groups, you can now organize form components both visually | |
The spacer component enables you to create white space between form components, making it possible to place them more freely. They may also be used as placeholders for conditionally hidden fields to maintain your form structure. | ||
|
||
<div class="figure full-size"> | ||
<img src="{{ assets }}/attachments/blog/2023/006-spacer.png"> | ||
<img src="{{ assets }}/attachments/blog/2023/007-spacer.png"> | ||
|
||
<p class="caption"> | ||
Use spacers to align form components to the right. | ||
|
@@ -59,7 +59,7 @@ The spacer component enables you to create white space between form components, | |
And just for good measure, we also added a separator component that makes it possible to visually separate form components. | ||
|
||
<div class="figure condensed-size"> | ||
<img src="{{ assets }}/attachments/blog/2023/006-separator.png"> | ||
<img src="{{ assets }}/attachments/blog/2023/007-separator.png"> | ||
|
||
<p class="caption"> | ||
Use separators to visually distinguish form components. | ||
|
@@ -71,7 +71,7 @@ And just for good measure, we also added a separator component that makes it pos | |
We significantly enhanced the data binding capabilities of form-js. You can now use nested keys to bind structured data to form components. | ||
|
||
<div class="figure full-size"> | ||
<img src="{{ assets }}/attachments/blog/2023/006-nested-key.png"> | ||
<img src="{{ assets }}/attachments/blog/2023/007-nested-key.png"> | ||
|
||
<p class="caption"> | ||
Use nested form keys to bind structured data. | ||
|
@@ -81,7 +81,7 @@ We significantly enhanced the data binding capabilities of form-js. You can now | |
You can also specify a data path on the group component, which will route all of the child components down a certain binding path. | ||
|
||
<div class="figure full-size"> | ||
<img src="{{ assets }}/attachments/blog/2023/006-group-path.png"> | ||
<img src="{{ assets }}/attachments/blog/2023/007-group-path.png"> | ||
|
||
<p class="caption"> | ||
Keep your data nicely organized without configuration overheads. | ||
|
@@ -95,7 +95,7 @@ Most real world use cases aren't as simple as just data entry. We see the need f | |
Our direction with this is leveraging FEEL, the expression language [standardized by the OMG](http://www.omg.org/spec/DMN/) and [feelers](https://github.com/bpmn-io/feelers), our own templating language built on top of it. Read-only settings, labels, descriptions, field options, validations, and most of our new component properties will now be configurable via expressions for a dynamic and powerful form building experience. | ||
|
||
<div class="figure full-size"> | ||
<img src="{{ assets }}/attachments/blog/2023/006-expressions.gif"> | ||
<img src="{{ assets }}/attachments/blog/2023/007-expressions.gif"> | ||
|
||
<p class="caption"> | ||
FEEL expressions let you control properties dynamically. | ||
|
@@ -104,12 +104,12 @@ Our direction with this is leveraging FEEL, the expression language [standardize | |
|
||
## More components, more use cases | ||
|
||
You should have already noticed that we made some changes to our component palette, in exchange for a scalable and searchable alternative. This highlights the direction where we are taking the library. We want to offer a toolkit which is sufficient for the majority of use-cases out of the box. | ||
You should have already noticed that we made some changes to our component palette, in exchange for a scalable and searchable alternative. This highlights the direction where we are taking the library. We want to offer a toolkit which is sufficient for the majority of use-cases out of the box. | ||
|
||
There are certain limitations to this however, we understand that we cannot provide everybody with the flexibility they need, and hence in a true bpmn-io fashion we've opened up the library to component extensions, which are outlined in the following [blog post](https://bpmn.io/blog/posts/2023-custom-form-components). | ||
|
||
<div class="figure full-size"> | ||
<img src="{{ assets }}/attachments/blog/2023/006-flexible-component-library.png"> | ||
<img src="{{ assets }}/attachments/blog/2023/007-flexible-component-library.png"> | ||
|
||
<p class="caption"> | ||
Find the component you want easily. | ||
|
@@ -119,17 +119,17 @@ There are certain limitations to this however, we understand that we cannot prov | |
Aside from the visual polishing, selects have received a new configuration which allows them to be searchable. It works similarly to our taglist, but handles single-selection cases. | ||
|
||
<div class="figure full-size"> | ||
<img src="{{ assets }}/attachments/blog/2023/006-searchable-select.png"> | ||
<img src="{{ assets }}/attachments/blog/2023/007-searchable-select.png"> | ||
|
||
<p class="caption"> | ||
Handle large dataset selection without scrolling endlessly. | ||
</p> | ||
</div> | ||
|
||
A fresh new arrival to our component suite with 1.5 is the iframe component, allowing you to embed other webpages inside of your forms, be it portfolios, documents, ect.. We have decided to ship these with restricted access for now, but do plan to allow you to configure security parameters in the future to grant the iframes more permissions. | ||
A fresh new arrival to our component suite with 1.5 is the iframe component, allowing you to embed other webpages inside of your forms, be it portfolios, documents, ect.. We have decided to ship these with restricted access for now, but do plan to allow you to configure security parameters in the future to grant the iframes more permissions. | ||
|
||
<div class="figure full-size"> | ||
<img src="{{ assets }}/attachments/blog/2023/006-iframe.png"> | ||
<img src="{{ assets }}/attachments/blog/2023/007-iframe.png"> | ||
|
||
<p class="caption"> | ||
Be sure to understand the security implications before using iframes. | ||
|