Mercurial > dive4elements > river
diff gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTableEditPanel.java @ 9068:a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
author | gernotbelger |
---|---|
date | Mon, 14 May 2018 18:24:35 +0200 |
parents | b5d7a9d79837 |
children | 1ffd38826175 |
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTableEditPanel.java Mon May 14 14:59:10 2018 +0200 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTableEditPanel.java Mon May 14 18:24:35 2018 +0200 @@ -8,19 +8,10 @@ package org.dive4elements.river.client.client.ui.uinfo; -import java.util.ArrayList; -import java.util.List; - -import org.dive4elements.river.client.client.ui.AbstractUIProvider; import org.dive4elements.river.client.client.ui.PanelHelper; -import org.dive4elements.river.client.shared.model.Data; -import org.dive4elements.river.client.shared.model.DataItem; import org.dive4elements.river.client.shared.model.DataList; -import org.dive4elements.river.client.shared.model.DefaultData; -import org.dive4elements.river.client.shared.model.DefaultDataItem; import com.google.gwt.core.client.GWT; -import com.smartgwt.client.data.Record; import com.smartgwt.client.types.ListGridFieldType; import com.smartgwt.client.widgets.Button; import com.smartgwt.client.widgets.Canvas; @@ -28,38 +19,26 @@ import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.form.DynamicForm; -import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.widgets.form.validator.IsIntegerValidator; import com.smartgwt.client.widgets.form.validator.IsStringValidator; -import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.grid.ListGridRecord; import com.smartgwt.client.widgets.grid.events.RecordClickEvent; import com.smartgwt.client.widgets.grid.events.RecordClickHandler; import com.smartgwt.client.widgets.layout.HLayout; -import com.smartgwt.client.widgets.layout.VLayout; -public class VegetationzonesTableEditPanel extends AbstractUIProvider { +public class VegetationzonesTableEditPanel extends SuperVegZonesTablePanel { private static final long serialVersionUID = 1L; - protected ListGrid elements; - private TextItem vegzone; - private TextItem start; - private TextItem end; - private ListGrid table; - - private static final String datakey = "vegzones"; - + @Override public Canvas createWidget(final DataList data) { - final VLayout root = new VLayout(); - final HLayout input = new HLayout(); - final VLayout tableLayout = new VLayout(); final HLayout fields = new HLayout(); final HLayout fields2 = new HLayout(); final Button add = new Button(this.MSG.add_date()); // TODO: make key more generic or change to more specific - this.elements = new ListGrid(); + + data.add(VegetationzonesTablePanel.getDummyData()); final Label title = new Label(data.get(0).getDescription()); title.setHeight("35px"); // orig:25 @@ -108,6 +87,8 @@ from.setWidth(70); to.setWidth(70); + addDataInit(data); + final ListGridField removeField = new ListGridField("_removeRecord", "Remove Record") { { setType(ListGridFieldType.ICON); @@ -136,144 +117,19 @@ fields.addMember(form1); fields2.addMember(form2); - // fields2.addMember(add); - - tableLayout.addMember(this.elements); - root.addMember(title); - root.addMember(input); - root.addMember(tableLayout); - root.addMember(PanelHelper.getSpacer(10)); - root.addMember(fields); - root.addMember(fields2); - root.addMember(PanelHelper.getSpacer(10)); - root.addMember(add); - root.addMember(PanelHelper.getSpacer(20)); - - return root; - } - - @Override - public Canvas createOld(final DataList dataList) { - final HLayout layout = new HLayout(); - layout.setWidth("400px"); - final VLayout vLayout = new VLayout(); - vLayout.setWidth(130); - final Label label = new Label(dataList.getLabel()); - label.setWidth("200px"); - label.setHeight(25); - - final List<Data> items = dataList.getAll(); - final Data str = getData(items, datakey); - final DataItem[] strItems = str.getItems(); - - final String[] entries = strItems[0].getLabel().split(";"); - for (final String entry : entries) { - final String[] vals = entry.split(","); - final Label dateLabel = new Label(vals[0] + " - " + vals[1]); - dateLabel.setHeight(20); - vLayout.addMember(dateLabel); - } - final Canvas back = getBackButton(dataList.getState()); - layout.addMember(label); - layout.addMember(vLayout); - layout.addMember(back); - - return layout; - } - - @Override - public Canvas create(final DataList data) { - final VLayout layout = new VLayout(); - final Canvas helper = createHelper(); - this.helperContainer.addMember(helper); - - final Canvas submit = getNextButton(); - final Canvas widget = createWidget(data); - - layout.addMember(widget); - layout.addMember(submit); // TODO: SUBMIT - - // fetchSedimentLoadData(); //TODO: feed from database... - - return layout; - } - private Canvas createHelper() { - this.table = new ListGrid(); - this.table.setShowHeaderContextMenu(false); - this.table.setWidth100(); - this.table.setShowRecordComponents(true); - this.table.setShowRecordComponentsByCell(true); - this.table.setHeight100(); - this.table.setEmptyMessage(this.MSG.empty_table()); - this.table.setCanReorderFields(false); + this.tableLayout.addMember(this.elements); + this.root.addMember(title); + this.root.addMember(this.input); + this.root.addMember(this.tableLayout); + this.root.addMember(PanelHelper.getSpacer(10)); + this.root.addMember(fields); + this.root.addMember(fields2); + this.root.addMember(PanelHelper.getSpacer(10)); + this.root.addMember(add); + this.root.addMember(PanelHelper.getSpacer(20)); - /* Input support pins */ - // final String baseUrl = GWT.getHostPageBaseURL(); - // final ListGridField pinFrom = new ListGridField("fromIcon", this.MSG.uinfo_vegetation_zones_from()); - // pinFrom.setWidth(300); - // pinFrom.setType(ListGridFieldType.ICON); - // pinFrom.setCellIcon(baseUrl + this.MSG.markerGreen()); - // - // final ListGridField pinTo = new ListGridField("toIcon", this.MSG.uinfo_vegetation_zones_to()); - // pinTo.setType(ListGridFieldType.ICON); - // pinTo.setWidth(300); - // pinTo.setCellIcon(baseUrl + this.MSG.markerRed()); - // - // pinFrom.addRecordClickHandler(new RecordClickHandler() { - // @Override - // public void onRecordClick(final RecordClickEvent e) { - // final Record r = e.getRecord(); - // VegetationzonesTableEditPanel.this.vegzone.setValue(r.getAttribute("date")); // date?? - // } - // }); - // - // pinFrom.addRecordClickHandler(new RecordClickHandler() { - // @Override - // public void onRecordClick(final RecordClickEvent e) { - // final Record r = e.getRecord(); - // VegetationzonesTableEditPanel.this.start.setValue(r.getAttribute("date")); - // } - // }); - // - // pinTo.addRecordClickHandler(new RecordClickHandler() { - // @Override - // public void onRecordClick(final RecordClickEvent e) { - // final Record r = e.getRecord(); - // VegetationzonesTableEditPanel.this.end.setValue(r.getAttribute("date")); - // } - // }); - // - // final ListGridField date = new ListGridField("date", this.MSG.year()); - // date.setType(ListGridFieldType.TEXT); - // date.setWidth(100); - // - // final ListGridField descr = new ListGridField("description", this.MSG.description()); - // descr.setType(ListGridFieldType.TEXT); - // descr.setWidth("*"); - // - // this.table.setFields(pinFrom, pinTo, date, descr); - return this.table; - } - - @Override - protected Data[] getData() { - final List<Data> data = new ArrayList<Data>(); - - final ListGridRecord[] lgr = this.elements.getRecords(); - if (lgr.length == 0) { - return new Data[0]; - } - String d = ""; - for (final ListGridRecord element : lgr) { - final Record r = element; - d += r.getAttribute("vegzone") + "," + r.getAttribute("from") + "," + r.getAttribute("to"); - d += ";"; - } - - final DataItem item = new DefaultDataItem(datakey, null, d); // DATA-key - data.add(new DefaultData(datakey, null, null, new DataItem[] { item })); - return data.toArray(new Data[data.size()]); + return this.root; } }