Skip to content

Commit

Permalink
[doc] Contribute a shape for the filtering/ordering pages API
Browse files Browse the repository at this point in the history
Signed-off-by: Florian ROUËNÉ <florian.rouene@obeosoft.com>
  • Loading branch information
frouene committed Jul 4, 2023
1 parent b97aab1 commit 206025d
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 4 deletions.
10 changes: 6 additions & 4 deletions CHANGELOG.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
- Add new custom widget to edit single and multi-valued references
- Add support for Help Expressions in Form widgets
- Add border style for containers
- Add an API for filtering and ordering form pages

=== Architectural decision records

Expand Down Expand Up @@ -75,7 +76,8 @@ The help text can include multiple lines (separated by `\n`), but no text format
+
image:doc/images/Widget_Help_Tooltip.png[Example of a help tooltip on a widget]
+
- https://github.com/eclipse-sirius/sirius-components/issues/2048[#2048] [diagram] Add a basic support for the resize. It is possible to reduce the size of a node less than the space needed to display all children.
- https://github.com/eclipse-sirius/sirius-components/issues/2048[#2048] [diagram] Add a basic support for the resize.
It is possible to reduce the size of a node less than the space needed to display all children.
- https://github.com/eclipse-sirius/sirius-components/issues/2064[#2064] [forms] Make the `IWidgetDescriptor` API more flexible.
- https://github.com/eclipse-sirius/sirius-components/issues/1618[#1618] [view] Split the view metamodel into dedicated subpackages.
- https://github.com/eclipse-sirius/sirius-components/issues/2083[#2083] [diagram] Add support for edge markers
Expand Down Expand Up @@ -174,14 +176,15 @@ image:doc/screenshots/filterBarFilterButton.png[Filter Bar Filter Button,30%,30%
- https://github.com/eclipse-sirius/sirius-components/issues/1914[#1914] [form] It is now possible for applications to provide their own custom widgets without forking Sirius Components.
See link:doc/how-to/contribute-custom-widget.adoc[the documentation] for more details.

- https://github.com/eclipse-sirius/sirius-components/issues/1830[#1830] [layout] This feature is experimental and can be activated on a diagram by adding "__EXPERIMENTAL" to its name. The new algorithm does the minimum possible to place node without overlap.
- https://github.com/eclipse-sirius/sirius-components/issues/1830[#1830] [layout] This feature is experimental and can be activated on a diagram by adding "__EXPERIMENTAL" to its name.
The new algorithm does the minimum possible to place node without overlap.
- https://github.com/eclipse-sirius/sirius-components/issues/1985[|#1985] [sirius-web] It is now possible to use in-memory View-based representations by registering them in the new `InMemoryViewRegistry`.
These representations can be created programmatically or loaded from `.view` EMF models on startup, and do not need to be stored as documents inside a project in the database.
- https://github.com/eclipse-sirius/sirius-components/issues/1921[#1921] [view] Added a project sirius-components-view-builder.
+
Introducing providers interfaces to help creating view programmatically.
+
Introducing a generator of builders aimed to help creating view programmatically, the generation makes use of emf-merge and modifications to these builders can be annotated to live during future regeneration.
Introducing a generator of builders aimed to help creating view programmatically, the generation makes use of emf-merge and modifications to these builders can be annotated to live during future regeneration.

- https://github.com/eclipse-sirius/sirius-components/issues/1912[#1912] [core] Add the possibility to send feedback messages to the frontend after an action.
- https://github.com/eclipse-sirius/sirius-components/issues/1989[#1989] [diagram] Contribute a new way to render diagrams to evaluate an alternate layouting strategy
Expand Down Expand Up @@ -239,7 +242,6 @@ Such calls will not work anymore since `null` will not be an acceptable value an
+
Removing dependencies from sirius-components-compatibility-emf in the canHandle methods of sirius-components-view-emf services


=== Dependency update

- [form] Switch to lexical 0.8.1
Expand Down
38 changes: 38 additions & 0 deletions doc/iterations/2023.8/shapes/order_and_filter_from_pages.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
= (S) Add an API for filtering and ordering form pages

== Problem

A form can be composed of several pages from various contributions.
A specifier should be able to order and filter these pages to control the form representation.

== Key Result

Offer the specifier the ability to programmatically order and filter the pages of a form.

== Solution

Add a new API with in entry the form and its variableManager.

[source,java]
----
public interface IFormProcessor {
Form process(Form form, VariableManager variableManager);
}
----

The API must return the form modified according to the specifier's wishes.

=== Scenario

* Contributors add a list of pages matching an element.
* Specifier declares through the API a new filter and changes pages order in the form.
* On the form representation, only the pages filtered by the API are displayed and in the specified order.

=== Cutting backs

== Rabbit holes

* This filter is available for all the form based view.
* This API offers greater liberty than just filtering or sorting pages: the specifier has complete control over the form that will be displayed.

== No-gos

0 comments on commit 206025d

Please sign in to comment.