Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: f96d4e7d by tchemit at 2018-11-23T15:27:03Z [PS] Libération faune accessoire -> Exception - Closes #1174 (bis) - - - - - 3 changed files: - client-core/src/main/java/fr/ird/observe/client/ui/actions/content/api/data/table/SaveTableDataUIAction.java - client-core/src/main/java/fr/ird/observe/client/ui/content/api/ContentUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/api/ContentUIModel.java Changes: ===================================== client-core/src/main/java/fr/ird/observe/client/ui/actions/content/api/data/table/SaveTableDataUIAction.java ===================================== @@ -26,6 +26,7 @@ import fr.ird.observe.client.ui.ObserveKeyStrokes; import fr.ird.observe.client.ui.ObserveMainUI; import fr.ird.observe.client.ui.actions.content.api.AbstractContentUIAction; import fr.ird.observe.client.ui.content.api.ContentUI; +import fr.ird.observe.client.ui.content.api.data.table.ContentTableModel; import fr.ird.observe.client.ui.content.api.data.table.ContentTableUI; import fr.ird.observe.client.ui.content.api.data.table.ContentTableUIModel; import fr.ird.observe.client.ui.util.UIHelper; @@ -65,7 +66,16 @@ public class SaveTableDataUIAction<D extends DataDto, C extends DataDto, U exten } private boolean doSave(U ui, D bean) { - List<C> objets = ui.getTableModel().getData(); + + ContentTableUIModel<D, C> model = ui.getModel(); + ContentTableModel<D, C> tableModel = ui.getTableModel(); + if (model.isModified() || model.isCanSaveRow()) { + + // flush modified line to model + tableModel.updateRowFromEditBean(); + } + + List<C> objets = tableModel.getData(); boolean canContinue; try { canContinue = ui.getHandler().prepareSave(bean, objets); ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/api/ContentUIHandler.java ===================================== @@ -185,7 +185,7 @@ public abstract class ContentUIHandler<U extends ContentUI> implements ObserveSe if (model.isCreatingMode()) { // on peut quitter le mode creation si le modele est non modifie et valide - if (!(model.isEnabled() && model.isEditing() && (model.isModified() || !model.isValid()))) { + if (!(model.isEnabled() && model.isEditing() && (model.isGlobalModified() || !model.isValid()))) { if (model.isEditing()) { ui.stopEdit(); } @@ -196,7 +196,7 @@ public abstract class ContentUIHandler<U extends ContentUI> implements ObserveSe } else { // on peut quiiter le mode mise a jour si le modele est non modifie - if (!(model.isEnabled() && model.isEditing() && model.isModified())) { + if (!(model.isEnabled() && model.isEditing() && model.isGlobalModified())) { if (model.isEditing()) { ui.stopEdit(); } ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/api/ContentUIModel.java ===================================== @@ -213,6 +213,10 @@ public abstract class ContentUIModel extends AbstractSerializableBean { return modified; } + public boolean isGlobalModified() { + return isModified(); + } + public void setModified(boolean modified) { this.modified = modified; firePropertyChange(PROPERTY_MODIFIED, modified); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/f96d4e7d8d8f778d71ac1cb21c7e... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/f96d4e7d8d8f778d71ac1cb21c7e... You're receiving this email because of your account on gitlab.com.