In SME tools, we can enable the option Sortable in the binding overview models, including SelectedItemsOverview or AvailableItemsOverview. But when the client renders UIs, users cannot choose the Sorting option for each column.
We would like to have binding overview components that include all the same features as regular overview components.
What @Nam Hoang Le and I can find in the libraries:
No possibility to overview the eventHandlers in component: LinkTableFooter called TableList. If we want to enable this feature we have to copy all internal stuff and override ComponentMap
Sorting is not implemented in the LIST_LINKS RPC method from DS.
Sorting is implemented in LIST_CANDIDATES RPC method from DS.
My question would be:
Are you considering this feature?
Are you considering filter options as well? we would have one to many relationships, It would be nice if users could filter the results.
The feature sets for the Available and the Selected Items (Links) lists are a bit different:
For the Available Items list, the enduser can sort, search and filter (if the modeler allowed it). This works in both, “regular” and CDM forms.
For the Selected Items, there is no backend sorting and filtering available yet. With dataservices’ new Query API in 2025.06, this will be possible and we are working on making this modelable.
Since 2023.06-ext9 and 2024.06-ext2 it is possible to sort the entries in the Selected Items list on client side. This can be achieved by a developer. However, the sorting will be “hardcoded”, that means, it can not be changed by the enduser.
There was a bug prior to the versions listed above. From now on, (if there is no sorting code), the elements are shown as they were added. If the Relationship Model specifies “Orderable”" for the specific Role, the enduser can reorder the entries in a tree. The ordering in the tree will be the ordering in the Selected Items list.
Filtering is generally a bit more tricky for CDMs, as this raises conceptual questions (eg if you calculate the sum of values of all the line items, do you expect it to change with the filtering?)
So yes, we are working on this feature. I will contact you directly to gather your use case.
Let us know, if you need help in implementing the Sorting of Selected Items in the CDM form.
For the Selected Items, there is no backend sorting and filtering available yet. With dataservices’ new Query API in 2025.06, this will be possible and we are working on making this modelable. => As I can see in the CDM form, the selected available items UI is using the LOAD_CANDIDATES rpc method which supports the sorting, am I correct?
no, LOAD_CANDIDATES loads the Available Items (the items that are candidates for a possible link creation, but not linked yet.) (Load_Document_Graph loads the Selected Items and the Links.)
sort and filter items in the Available Items list as an enduser (both in CDM and Regular Forms)
apply a specific sorting to the Selected Items list in CDM form as a developer (A12-16010)
apply a specific Ordering to the linked entries as an enduser, when creating the links in the right order or reordering them in a tree (Relationship Model has “Orderable” set to true)
what is missing until 2025.06 (there will be an experimental version available in 2024.06-ext4, February 2025, A12-15821)
modeler/enduser can not change the sorting in the Selected Items lists in CDM forms
Hey,
yes, none of this will come to the 2023.06 release line.
Some experimental support will be available in the 2024.06-ext4 release (namely the new dataservices API which give the possibility to sort links/Selected Items), but this will not be modelable.
Model-ability will probably come with the 2025.06 release line. Also with 2025.06 we plan to make the Binding UIs customizable.
This feature is delivered in 2023.06-ext9 according to the ticket, but as a developer-only API. You could give it a try if you can’t upgrade to a later release yet.
MultiSelectionProps API - No sorting prop for selected items:
Redux Action - Only candidate sorting is implemented
The `MultiSelectionProps` interface only defines:
```ts
readonly availableItemsSorting?: OverviewEngineState["sorting"];
onAvailableItemsSortingChange?(sorting: Relationship.SortClause): void;
```
There is no `assignedItemsSorting` and no `onAssignedItemsSortingChange`.
```ts
export interface SortChangedPayload {
readonly type: "candidate"; // hardcoded - no "link" type
readonly activityId: string;
readonly instanceId: string;
readonly sort?: Relationship.SortClause;
}
```
The corresponding saga sortChangedSaga only reloads candidate data.
is there a reason for that / is this feature planned for the future?