From ea2acd968394c1ff6039caee8314b29111f5624d Mon Sep 17 00:00:00 2001 From: Florian Barbin Date: Tue, 9 Jul 2024 17:33:45 +0200 Subject: [PATCH] [doc] Update the ADR to display selection dialog as tree Signed-off-by: Florian Barbin --- doc/adrs/153_selection_dialog_tree_view.adoc | 37 +++++++++++++++--- .../images/153/currentSelectionDialog.png | Bin 0 -> 21797 bytes .../153/referenceWidgetSemanticBrowser.png | Bin 0 -> 17649 bytes 3 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 doc/adrs/images/153/currentSelectionDialog.png create mode 100644 doc/adrs/images/153/referenceWidgetSemanticBrowser.png diff --git a/doc/adrs/153_selection_dialog_tree_view.adoc b/doc/adrs/153_selection_dialog_tree_view.adoc index ad28e1ad70a..28baad93983 100644 --- a/doc/adrs/153_selection_dialog_tree_view.adoc +++ b/doc/adrs/153_selection_dialog_tree_view.adoc @@ -44,17 +44,28 @@ type SelectionObject { === Preferred option +==== View model + The specifier will choose whether the objects returned by the candidates expression will be displayed as a tree or as a flat list. The `SelectionDialogDescription` from the Diagram View model will have two additional boolean attributes: * `displayedAsTree`: to indicate whether the dialog layout should be a tree. - * `expendedAtOpening`: to indicate if the tree should be expended by default (that means all tree items are expended at opening) + * `expandedAtOpening`: to indicate if the tree should be expanded by default (that means all tree items are expanded at opening) + +==== Backend and GraphQL API + +In addition, the Selection computed by the `SelectionRender` by the server will now return the containment information. + +Since the tree depth is not known by the frontend beforehand, the backend needs to return the whole tree items in a flat way. -In addition, the Selection computed by the `SelectionRender` by the server will now return the containment information: +The GraphQL subscription query will thus have a fixed depth. The containment information will be owned by a field called `parentId`. - * A `SelectionObject` can contain `SelectionObject` as children. +To do so, we will keep the same GraphQL structure but with the following changes: + + * A `SelectionObject` will have a `parentId` field (optional), that will be a reference to another `SelectionObject#id` field. * A `SelectionObject` will contain the information whether it can be selected or not in order to differentiate elements from the candidatesExpression to the hierarchical nodes. + * The `Selection` will also contains the information whether the dialog should be displayed as a tree or not and if we should expand all nodes at opening. Thus, the GraphQL API will evolved as following: @@ -66,14 +77,14 @@ type Selection implements Representation { message: String objects: [SelectionObject!]! displayedAsTree: Boolean! - expendedAtOpening: Boolean! + expandedAtOpening: Boolean! } type SelectionObject { id: ID! label: String! iconURL: [String!]! - objects: [SelectionObject!]! + parentId: String isSelectable: Boolean! } ``` @@ -107,6 +118,8 @@ Root |_ (F) ``` +==== Frontend + Elements that are not selectable (out of the computed candidates set) will by faded in the same way than the reference widget semantic browser do: image:images/153/referenceWidgetSemanticBrowser.png[Reference Widget Semantic Browser, 50%] @@ -139,6 +152,20 @@ We will rely on the MaterialUI `TreeItem` and `TreeView` in the same way than th ); ``` +If the Selection is refreshed by the backend, following a semantic change from another client for instance, a new Selection from the subscription will be received by the SelectionDialog and trigger the component rerendering. + +If the end-user has changed the expanded state, we want to keep them expanded in that situation. + +To do so, We will modify the SelectionDialog state machine as follow: + + * A new `expandedSelectionObjectIds : string[]` will be added in the `SelectionDialogContext`. + * A new event `HandleExpandUpdatedEvent` = { type: 'HANDLE_EXPAND_UPDATED'; expandedObjectId: string }; This event will add or remove the expandedObjectId from the expandedSelectionObjectIds array. + +A TreeItem will be expanded if: + + * The expandedAtOpening is activated: in that case, the `expandedSelectionObjectIds` will be initialized with all selectedObject ids. + * The user expanded the item manually. + === Second option The second option but not the preferred one, consists in relying on the TreeRepresentation. diff --git a/doc/adrs/images/153/currentSelectionDialog.png b/doc/adrs/images/153/currentSelectionDialog.png new file mode 100644 index 0000000000000000000000000000000000000000..60914ffaaca44e9702bf32f433ae89f890c4cf75 GIT binary patch literal 21797 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

b$ZKgnEYP` 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 Z{|~Be94`o+FAV?y002ovPDHLkV1kptX}$me literal 0 HcmV?d00001 diff --git a/doc/adrs/images/153/referenceWidgetSemanticBrowser.png b/doc/adrs/images/153/referenceWidgetSemanticBrowser.png new file mode 100644 index 0000000000000000000000000000000000000000..a2cc398a0b3145cf48d440121d64ae1542848545 GIT binary patch literal 17649 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 literal 0 HcmV?d00001