Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: b30328dd by Tony Chemit at 2021-11-04T17:13:47+01:00 Passer activity.latitude/longitude en NULL possible - See #2078 - - - - - 491c31d7 by Tony Chemit at 2021-11-04T17:32:24+01:00 Mise en conformité des couleurs sur les nœuds de l'arbre de navigation sur les référentiels. - Closes #2093 - - - - - 5 changed files: - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ContentReferentialUI.jcss - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ContentReferentialUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ContentReferentialUINavigationHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ReferentialHomeUINavigationHandler.java - models/persistence/java/src/main/java/fr/ird/observe/entities/data/ps/common/TripMapBuilder.java Changes: ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ContentReferentialUI.jcss ===================================== @@ -102,3 +102,7 @@ enabled:{showTechnicalInformations.isEnabled()}; } +#changeId { + enabled:false; +} + ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ContentReferentialUIHandler.java ===================================== @@ -58,11 +58,13 @@ import javax.swing.Icon; import javax.swing.JList; import javax.swing.KeyStroke; import javax.swing.SwingUtilities; +import java.awt.Component; import java.awt.Container; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.Collections; import java.util.List; +import java.util.Objects; import java.util.Set; /** @@ -87,6 +89,8 @@ public class ContentReferentialUIHandler<D extends ReferentialDto, R extends Ref return; } ui1.revalidate(); + Component component = ui1.getHandler().computeFocusOwner(); + component.requestFocusInWindow(); }; } @@ -134,6 +138,7 @@ public class ContentReferentialUIHandler<D extends ReferentialDto, R extends Ref public final ContentOpenWithValidator<U> getContentOpen() { return (ContentOpenWithValidator<U>) super.getContentOpen(); } + @Override protected final ContentUIInitializer<U> createContentUIInitializer(U ui) { return new ContentReferentialUIInitializer<>(ui); @@ -154,6 +159,25 @@ public class ContentReferentialUIHandler<D extends ReferentialDto, R extends Ref installSaveAction(); } + @Override + protected Container computeFocusOwnerContainer() { + if (getModel().getSource().getHandler().getChildCount() == 0) { + return ui; + } + if (Objects.equals(ui.getViewLayout().getSelected(), ContentReferentialUI.LIST_VIEW)) { + return ui.getContentBody(); + } + ContentMode mode = getModel().getStates().getMode(); + if (mode == null || mode == ContentMode.READ || !getModel().getStates().isEditable()) { + if (Objects.equals(ui.getViewLayout().getSelected(), ContentReferentialUI.DETAIL_VIEW)) { + // can't give focus to form + return ui.getActions(); + } + return ui.getContentBody(); + } + return super.computeFocusOwnerContainer(); + } + @Override public void installChangeModeAction() { ChangeModeRequest request = ChangeModeRequest.of(ui); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ContentReferentialUINavigationHandler.java ===================================== @@ -25,7 +25,9 @@ package fr.ird.observe.client.datasource.editor.api.content.referential; import fr.ird.observe.client.datasource.editor.api.content.ContentMode; import fr.ird.observe.client.datasource.editor.api.navigation.tree.NavigationHandler; +import java.awt.Color; import java.util.Objects; +import java.util.function.Supplier; /** * Created on 24/10/2020. @@ -53,7 +55,7 @@ public abstract class ContentReferentialUINavigationHandler<N extends ContentRef public final String getText() { N node = getNode(); String text = node.getScope().getI18nTranslation("type"); - return String.format("%s (%s)", text, node.isLoaded() ? node.getReferences().size() : node.getInitializer().getInitialCount()); + return text + getChildCountText(); } @Override @@ -64,6 +66,25 @@ public abstract class ContentReferentialUINavigationHandler<N extends ContentRef @Override public String getContentTitle() { - return getNode().getScope().getI18nTranslation("type"); + return getText(); + } + + @Override + protected Color getColor0(Supplier<Color> defaultValue) { + if (!getNode().getInitializer().isEditable()) { + return getDisabledColor(); + } + if (getChildCount() == 0) { + return getEmptyColor(); + } + return super.getColor0(defaultValue); + } + + protected long getChildCount() { + return node.isLoaded() ? node.getReferences().size() : node.getInitializer().getInitialCount(); + } + + protected String getChildCountText() { + return String.format(" (%d)", getChildCount()); } } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/referential/ReferentialHomeUINavigationHandler.java ===================================== @@ -25,7 +25,9 @@ package fr.ird.observe.client.datasource.editor.api.content.referential; import fr.ird.observe.client.datasource.editor.api.content.ContentMode; import fr.ird.observe.client.datasource.editor.api.navigation.tree.NavigationHandler; +import java.awt.Color; import java.util.Objects; +import java.util.function.Supplier; /** * Created on 24/10/2020. @@ -69,4 +71,12 @@ public abstract class ReferentialHomeUINavigationHandler<N extends ReferentialHo // We can not perform any edit action return ContentMode.READ; } + + @Override + protected Color getColor0(Supplier<Color> defaultValue) { + if (!getNode().getInitializer().isEditable()) { + return getDisabledColor(); + } + return super.getColor0(defaultValue); + } } ===================================== models/persistence/java/src/main/java/fr/ird/observe/entities/data/ps/common/TripMapBuilder.java ===================================== @@ -98,7 +98,7 @@ public class TripMapBuilder { " FROM ps_logbook.route r" + " INNER JOIN ps_logbook.activity a ON a.route = r.topiaId" + " WHERE r.trip = ?" + - " ORDER BY r.date, a.time"); + " ORDER BY r.date, a.number"); } @Override View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5cef97c0a10459c434afe79c4... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5cef97c0a10459c434afe79c4... You're receiving this email because of your account on gitlab.com.