Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: fbc57b39 by Tony Chemit at 2023-06-13T15:21:08+02:00 Le champs 'position d'origine' pourrait être désactivé si la case 'Donnée corrigée' n'est pas cochée - Closes #2720 - - - - - 93323b35 by Tony Chemit at 2023-06-13T15:48:55+02:00 Le champs 'position d'origine' pourrait être désactivé si la case 'Donnée corrigée' n'est pas cochée - Closes #2720 - - - - - 1 changed file: - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/ActivityUIHandler.java Changes: ===================================== client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/ActivityUIHandler.java ===================================== @@ -34,7 +34,9 @@ import fr.ird.observe.dto.data.ps.logbook.ActivityReference; import fr.ird.observe.dto.referential.ps.common.VesselActivityReference; import io.ultreia.java4all.i18n.I18n; +import java.beans.PropertyChangeListener; import java.util.List; +import java.util.Objects; /** * @author Tony Chemit - dev@tchemit.fr @@ -42,6 +44,17 @@ import java.util.List; */ class ActivityUIHandler extends GeneratedActivityUIHandler { + /** + * To enable or not original coordinate on ActivityDto.originalDataModified flag. + * <p> + * See <a href="https://gitlab.com/ultreiaio/ird-observe/-/issues/2720">issue 2720</a> + */ + private final PropertyChangeListener originalDataModifiedChanged; + + public ActivityUIHandler() { + originalDataModifiedChanged = evt -> onOriginalDataModifiedChanged((Boolean) evt.getNewValue()); + } + @Override public void onInit(ActivityUI ui) { super.onInit(ui); @@ -49,6 +62,15 @@ class ActivityUIHandler extends GeneratedActivityUIHandler { fr.ird.observe.client.datasource.editor.ps.data.observation.ActivityUIHandler.initLabels(activities, ui.getVesselActivityInformation(), ui.getVesselActivityInformation2()); } + @Override + public void startEditUI() { + ActivityDto bean = getModel().getStates().getBean(); + bean.removePropertyChangeListener(ActivityDto.PROPERTY_ORIGINAL_DATA_MODIFIED, originalDataModifiedChanged); + super.startEditUI(); + bean.addPropertyChangeListener(ActivityDto.PROPERTY_ORIGINAL_DATA_MODIFIED, originalDataModifiedChanged); + onOriginalDataModifiedChanged(bean.isOriginalDataModified()); + } + @Override protected void installSaveAction() { SaveAction.create(ui, ActivityDto.class) @@ -66,10 +88,41 @@ class ActivityUIHandler extends GeneratedActivityUIHandler { }) .install(ui.getSave()); CopyCoordinate.install(I18n.t("observe.ui.action.copyCoordinate"), - ObservePsKeyStrokes.KEY_STROKE_COPY_COORDINATE, - ui, - ui.getCoordinate(), - ui.getCoordinateOriginal(), - ui.getCopyFirstCoordinate()); + ObservePsKeyStrokes.KEY_STROKE_COPY_COORDINATE, + ui, + ui.getCoordinate(), + ui.getCoordinateOriginal(), + ui.getCopyFirstCoordinate()); + } + + + private void onOriginalDataModifiedChanged(Boolean newValue) { + + ActivityUI ui = getUi(); + + ActivityDto bean = getModel().getStates().getBean(); + if (Objects.equals(true, newValue)) { + + // original data modified + ui.getCoordinateOriginal().setEnabled(true); + //FIXME In jaxx should be done by previous statement + ui.getCoordinateOriginal().getGlobalResetButton().setEnabled(true); + ui.getCoordinateOriginal().getDmdFormat().setEnabled(true); + ui.getCoordinateOriginal().getDmsFormat().setEnabled(true); + ui.getCoordinateOriginal().getDdFormat().setEnabled(true); + ui.getCopyFirstCoordinate().setEnabled(true); + + } else { + + // original data not modified + ui.getCoordinateOriginal().getGlobalResetButton().doClick(); + ui.getCoordinateOriginal().setEnabled(false); + //FIXME In jaxx should be done by previous statement + ui.getCoordinateOriginal().getGlobalResetButton().setEnabled(false); + ui.getCoordinateOriginal().getDmdFormat().setEnabled(false); + ui.getCoordinateOriginal().getDmsFormat().setEnabled(false); + ui.getCoordinateOriginal().getDdFormat().setEnabled(false); + ui.getCopyFirstCoordinate().setEnabled(false); + } } } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/bf6b3e5c10f75ac21a337a16d... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/bf6b3e5c10f75ac21a337a16d... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT (@tchemit)