Tony CHEMIT pushed to branch develop-9.0.x at ultreiaio / ird-observe
Commits:
-
c9e2bc87
by Tony Chemit at 2022-12-12T19:29:30+01:00
5 changed files:
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/save/NodeChildrenUpdate.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUIHandler.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/ActivityUIHandler.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/ActivityUIHandler.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/ActivityUIHandler.java
Changes:
| ... | ... | @@ -24,11 +24,13 @@ package fr.ird.observe.client.datasource.editor.api.content.actions.save; |
| 24 | 24 | |
| 25 | 25 | import fr.ird.observe.client.datasource.editor.api.content.data.edit.ContentEditUINavigationNode;
|
| 26 | 26 | import fr.ird.observe.client.datasource.editor.api.content.data.table.ContentTableUINavigationNode;
|
| 27 | +import fr.ird.observe.client.datasource.editor.api.navigation.NavigationTree;
|
|
| 27 | 28 | import fr.ird.observe.client.datasource.editor.api.navigation.tree.NavigationNode;
|
| 28 | 29 | import fr.ird.observe.dto.BusinessDto;
|
| 29 | 30 | import io.ultreia.java4all.i18n.I18n;
|
| 30 | 31 | |
| 31 | 32 | import javax.swing.tree.TreeNode;
|
| 33 | +import javax.swing.tree.TreePath;
|
|
| 32 | 34 | import java.util.Enumeration;
|
| 33 | 35 | import java.util.LinkedHashSet;
|
| 34 | 36 | import java.util.LinkedList;
|
| ... | ... | @@ -133,16 +135,20 @@ public class NodeChildrenUpdate { |
| 133 | 135 | this.nodeTypesToAdd = nodeTypesToAdd;
|
| 134 | 136 | }
|
| 135 | 137 | |
| 136 | - public void update() {
|
|
| 138 | + public void update(NavigationTree tree) {
|
|
| 137 | 139 | if (isEmpty()) {
|
| 138 | 140 | // nothing to update
|
| 139 | 141 | return;
|
| 140 | 142 | }
|
| 141 | 143 | if (!nodeTypesToAdd.isEmpty()) {
|
| 142 | - //FIXME improve this
|
|
| 144 | + TreePath path = new TreePath(node.getPath());
|
|
| 145 | + boolean expanded = tree.isExpanded(path);
|
|
| 143 | 146 | // if a node has to be added, let's rebuild the hole children
|
| 144 | 147 | node.removeAllChildren();
|
| 145 | 148 | node.getHandler().buildChildren();
|
| 149 | + if (expanded) {
|
|
| 150 | + tree.expandPath(path);
|
|
| 151 | + }
|
|
| 146 | 152 | return;
|
| 147 | 153 | }
|
| 148 | 154 | // only remove
|
| ... | ... | @@ -49,7 +49,7 @@ class ActivityUIHandler extends GeneratedActivityUIHandler { |
| 49 | 49 | protected void afterNodeUpdated(DataSourceEditor dataSourceEditor, ActivityUI ui, NavigationTree tree, ContentOpenableUINavigationNode node, boolean notPersisted, ActivityDto bean) {
|
| 50 | 50 | ActivityReference reference = (ActivityReference) node.getReference();
|
| 51 | 51 | bean.setStatistics(reference.statistics());
|
| 52 | - ActivityUINavigationCapability.fillAfterBuilder(NodeChildrenUpdate.afterUpdate(node, bean)).update();
|
|
| 52 | + ActivityUINavigationCapability.fillAfterBuilder(NodeChildrenUpdate.afterUpdate(node, bean)).update(tree);
|
|
| 53 | 53 | super.afterNodeUpdated(dataSourceEditor, ui, tree, node, notPersisted, bean);
|
| 54 | 54 | }
|
| 55 | 55 | })
|
| ... | ... | @@ -50,7 +50,7 @@ class ActivityUIHandler extends GeneratedActivityUIHandler { |
| 50 | 50 | protected void afterNodeUpdated(DataSourceEditor dataSourceEditor, ActivityUI ui, NavigationTree tree, ContentOpenableUINavigationNode node, boolean notPersisted, ActivityDto bean) {
|
| 51 | 51 | ActivityReference reference = (ActivityReference) node.getReference();
|
| 52 | 52 | bean.setStatistics(reference.statistics());
|
| 53 | - ActivityUINavigationCapability.fillAfterBuilder(NodeChildrenUpdate.afterUpdate(node, bean)).update();
|
|
| 53 | + ActivityUINavigationCapability.fillAfterBuilder(NodeChildrenUpdate.afterUpdate(node, bean)).update(tree);
|
|
| 54 | 54 | super.afterNodeUpdated(dataSourceEditor, ui, tree, node, notPersisted, bean);
|
| 55 | 55 | }
|
| 56 | 56 | })
|
| ... | ... | @@ -60,7 +60,7 @@ class ActivityUIHandler extends GeneratedActivityUIHandler { |
| 60 | 60 | protected void afterNodeUpdated(DataSourceEditor dataSourceEditor, ActivityUI ui, NavigationTree tree, ContentOpenableUINavigationNode node, boolean notPersisted, ActivityDto bean) {
|
| 61 | 61 | ActivityReference reference = (ActivityReference) node.getReference();
|
| 62 | 62 | bean.setStatistics(reference.statistics());
|
| 63 | - ActivityUINavigationCapability.fillAfterBuilder(NodeChildrenUpdate.afterUpdate(node, bean)).update();
|
|
| 63 | + ActivityUINavigationCapability.fillAfterBuilder(NodeChildrenUpdate.afterUpdate(node, bean)).update(tree);
|
|
| 64 | 64 | super.afterNodeUpdated(dataSourceEditor, ui, tree, node, notPersisted, bean);
|
| 65 | 65 | }
|
| 66 | 66 | })
|
| ... | ... | @@ -86,7 +86,7 @@ public class ActivityUIHandler extends GeneratedActivityUIHandler { |
| 86 | 86 | protected void afterNodeUpdated(DataSourceEditor dataSourceEditor, ActivityUI ui, NavigationTree tree, ContentOpenableUINavigationNode node, boolean notPersisted, ActivityDto bean) {
|
| 87 | 87 | ActivityReference reference = (ActivityReference) node.getReference();
|
| 88 | 88 | bean.setStatistics(reference.statistics());
|
| 89 | - ActivityUINavigationCapability.fillAfterBuilder(NodeChildrenUpdate.afterUpdate(node, bean)).update();
|
|
| 89 | + ActivityUINavigationCapability.fillAfterBuilder(NodeChildrenUpdate.afterUpdate(node, bean)).update(tree);
|
|
| 90 | 90 | super.afterNodeUpdated(dataSourceEditor, ui, tree, node, notPersisted, bean);
|
| 91 | 91 | }
|
| 92 | 92 | })
|