Mercurial > dive4elements > river
diff gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/AbstractVegZonesTablePanel.java @ 9299:4a6cc7c6716a
uinfo.inundation_duration veg'zone select
author | gernotbelger |
---|---|
date | Wed, 25 Jul 2018 14:42:44 +0200 |
parents | b570b6fcc052 |
children | d89976700474 |
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/AbstractVegZonesTablePanel.java Wed Jul 25 11:33:48 2018 +0200 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/AbstractVegZonesTablePanel.java Wed Jul 25 14:42:44 2018 +0200 @@ -108,7 +108,7 @@ fromField.addCellSavedHandler(new CellSavedHandler() { @Override public void onCellSaved(final CellSavedEvent event) { - validateRangeOverlap(); + updateValidationMsgLabel(); } }); // war mal ne anforderung, dass sich die Werte anderer Zellen ändern, sodass keine lücken entstehen... mach das jetzt @@ -163,7 +163,7 @@ toField.addCellSavedHandler(new CellSavedHandler() { @Override public void onCellSaved(final CellSavedEvent event) { - validateRangeOverlap(); + updateValidationMsgLabel(); } }); // nicht @@ -192,7 +192,7 @@ @Override public void onRecordClick(final RecordClickEvent event) { if (event.getField().getName().equals(removeField.getName())) { - validateRangeOverlap(); + updateValidationMsgLabel(); } } }); @@ -243,24 +243,31 @@ if (dataItemContainer.getItems() != null) { for (final DataItem dataItem : dataItemContainer.getItems()) { if (dataItem.getStringValue() != null) { - - final List<VegetationZone> rows = VegetationZone.parse(dataItem.getStringValue()); - for (final VegetationZone row : rows) { - this.elements.addData(createEntry(row)); - } + createTableFromDataStr(dataItem.getStringValue()); } } } } } + protected final void createTableFromDataStr(final String data) { + for (final ListGridRecord r : this.elements.getRecords()) { + this.elements.removeData(r); + } + final List<VegetationZone> rows = VegetationZone.parse(data); + for (final VegetationZone row : rows) { + this.elements.addData(createEntry(row)); + } + } + @Override public final Canvas create(final DataList data) { final VLayout layout = new VLayout(); // TODO: Helper zur Vegetationszonen-Auswahl - // final Canvas helper = createHelper(); - // this.helperContainer.addMember(helper); + final Canvas helper = createHelper(data); + if (helper != null) + this.helperContainer.addMember(helper); final Canvas submit = getNextButton(); @@ -271,7 +278,7 @@ layout.addMember(root); layout.addMember(submit); - validateRangeOverlap();// init Text + updateValidationMsgLabel();// init Text return layout; } @@ -351,7 +358,7 @@ } - protected String validate(final String fromInput, final String toInput, final String zoneName, final String hexColor) { + protected final String validate(final String fromInput, final String toInput, final String zoneName, final String hexColor) { if (fromInput == null || toInput == null || zoneName == null || hexColor == null || fromInput.trim().isEmpty() || toInput.trim().isEmpty() || zoneName.trim().isEmpty() || hexColor.trim().isEmpty()) @@ -378,7 +385,7 @@ } @Override - public List<String> validate() { + public final List<String> validate() { final List<String> errors = new ArrayList<String>(); if (VegetationZone.zonesAreOverlapping(this.getZones(this.elements.getRecords()))) @@ -388,7 +395,9 @@ return errors; } - protected final void validateRangeOverlap() { + protected final void updateValidationMsgLabel() { this.validationLabel.setText(validate().toString().replace("[", "").replace("]", "").replace(",", "")); } + + protected abstract Canvas createHelper(final DataList data); } \ No newline at end of file